[Swift 3.0] Fundamental & Algorithm

[Swift Basic] Optional Binding

2016-09-30  本文已影响62人  sunlitamo

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")
}
上一篇下一篇

猜你喜欢

热点阅读