Swift通过可选链调用属性
通过可选链调用属性
正如上面“ 可选链可替代强制解析”中所述,你可以利用可选链的可选值获取属性,并且检查属性是否获取成功。然而,你不能使用可选链为属性赋值。
使用上述定义的类来创建一个人实例,并再次尝试后去它的numberOfRooms
属性:
let john = Person()
if let roomCount = john.residence?.numberOfRooms {
println("John's residence has \(roomCount) room(s).")
} else {
println("Unable to retrieve the number of rooms.")
}
// 打印 "Unable to retrieve the number of rooms。
由于john.residence
是空,所以这个可选链和之前一样失败了,但是没有运行时错误