Reducing the number of brackets in Swift

后端 未结 7 1876
离开以前
离开以前 2021-02-01 19:53

Does anyone know if there is a way to use some kind shorthand in swift? more specifically, leaving out the braces in things like IF statements... eg

if num == 0
         


        
相关标签:
7条回答
  • 2021-02-01 19:57

    You could always put the entire if on one line:

    if num == 0 { temp = 0 }
    
    0 讨论(0)
  • 2021-02-01 20:01

    You could use a shorthand if statement like you would in objective-c:

    num1 < num2 ? DO SOMETHING IF TRUE : DO SOMETHING IF FALSE
    
    0 讨论(0)
  • 2021-02-01 20:01

    It is called shorthand if-else condition. If you are into iOS development in Swift, then you can also manipulate your UI objects' behaviour with this property.

    For e.g. - I want my button to be enabled only when there is some text in the textfield. In other words, should stay disabled when character count in textfield is zero.

    button.enabled = (textField.characters.count > 0) ? true : false

    0 讨论(0)
  • 2021-02-01 20:07

    You can do that :

    let x = 10, y = 20;
    let max = (x < y) ? y : x ; // So max = 20
    

    And so much interesting things :

    let max = (x < y) ? "y is greater than x" : "x is greater than y" // max = "y is greater than x"
    let max = (x < y) ? true : false // max = true
    let max = (x > y) ? func() : anotherFunc() // max = anotherFunc()
    (x < y) ? func() : anotherFunc() // code is running func()
    

    This following stack : http://codereview.stackexchange.com can be better for your question ;)

    Edit : ternary operators and compilation

    By doing nothing more than replacing the ternary operator with an if else statement, the build time was reduced by 92.9%.

    https://medium.com/@RobertGummesson/regarding-swift-build-time-optimizations-fc92cdd91e31#.42uncapwc

    0 讨论(0)
  • 2021-02-01 20:13

    In swift you have to add braces even if there is just one statement in if:

    if num == 0 {
      // Do something
    }
    

    You cannot leave the braces, that how swift if statement work.

    0 讨论(0)
  • 2021-02-01 20:13

    its very simple : in Swift 4

        playButton.currentTitle == "Play" ? startPlay() : stopPlay()
    

    Original Code is

        if playButton.currentTitle == "Play"{
         StartPlay()
        }else{
         StopPlay()
        }
    
    0 讨论(0)
提交回复
热议问题