因此在iOS Swift中,我们可以执行可选链接来简化nil检查,就像在官方文档中一样
let johnsAddress = Address()
johnsAddress.buildingName = "The Larches"
johnsAddress.street = "Laurel Street"
john.residence!.address = johnsAddress
if let johnsStreet = john.residence?.address?.street {
println("John's street name is \(johnsStreet).")
} else {
println("Unable to retrieve the address.")
}
// prints "John's street name is Laurel Street."
Run Code Online (Sandbox Code Playgroud)
我了解在选购链接的使用john.residence?.address?.street,但我们怎样才能知道实际链条断裂(如果任一residence或者address是nil).我们可以判断residence或者address是nil,或者我们需要与检查一遍if-else?
那不要做链.如果你不打算停止,这条链只会很有趣.如果你这样做,请在有趣的地方进行分解 - 否则,你会在哪里输入不良案例的代码?
if let residence = john.residence {
if let address = residence.address {
...
} else {
println("missing address")
}
} else {
println("missing residence")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |