发布于 2015-06-14 01:55:57 | 155 次阅读 | 评论: 0 | 来源: 网络整理
前面的例子解释了如何通过可选链来获得可选类型属性值。你也可以通过可选链调用一个返回可选类型值的方法并按需链接该方法的返回值。
下面的例子通过可选链调用了Address
类中的buildingIdentifier
方法。这个方法的返回值类型是String?
。如上所述,这个方法在可选链调用后最终的返回值类型依然是String?
:
if let buildingIdentifier = john.residence?.address?.buildingIdentifier() {
println("John's building identifier is (buildingIdentifier).")
}
// 打印 "John's building identifier is The Larches."。
如果你还想进一步对方法返回值执行可选链,将可选链问号符放在方法括号的后面:
if let upper = john.residence?.address?.buildingIdentifier()?.uppercaseString {
println("John's uppercase building identifier is (upper).")
}
// 打印 "John's uppercase building identifier is THE LARCHES."。
注意:
在上面的例子中,你将可选链问号符放在括号后面是因为你想要链接的可选值是buildingIdentifier
方法的返回值,不是buildingIdentifier
方法本身。