[Swift Basic] Optional Binding

作者: sunlitamo | 来源:发表于2016-09-30 16:43 被阅读62次

    Swift 中引进的Optional(可选值)固然是其一大亮点。但是在处理可选值时伴随而来是不可避免的对其进行拆包处理。有时候确实有些繁琐。

    Optional Binding 是为了避免在条件判断语句后执行一次或更多次的拆包而设计的,如下:

    var name: String?
    name = Jack
    if let myName = name {
        "My name is " + myName
    } else {
        "nil"
    }
    

    <i>进阶:多个Optional Binding 的整合用法</i>
    有些复杂的 use case 会同时涉及到几个变量,如果每个变量都是Optional值且需要在进一步使用之前对其解包的话,推荐使用 <b>if statement</b>。 在一个 if statement 中,你可以同时包含多个 <b>Optional Binding</b> 以及 <b>Boolean condition</b> 的判断。其语法也非常简单,在不同的判断式之间用 , 隔开即可。 在程序运行时, 只有所有的判断式成立的情况下,block里面的代码才会被运行。反之,如果有一个判断式为 false,那么整个 if statement 将会以 false 结束。

    if let firstNumber = Int("4"), let secondNumber = Int("42"), 
    firstNumber < secondNumber && secondNumber < 100 {
    print("\(firstNumber) < \(secondNumber) < 100")
    }
    

    相关文章

      网友评论

        本文标题:[Swift Basic] Optional Binding

        本文链接:https://www.haomeiwen.com/subject/qhxryttx.html