[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")
}