Swift使用可選鏈調用子腳本
使用可選鏈調用子腳本
你可以使用可選鏈來嘗試從子腳本獲取值並檢查子腳本的調用是否成功,然而,你不能通過可選鏈來設置子代碼。
注意:
當你使用可選鏈來獲取子腳本的時候,你應該將問號放在子腳本括號的前麵而不是後麵。可選鏈的問號一般直接跟在表達語句的後麵。
下麵這個例子用在Residence
類中定義的子腳本來獲取john.residence
數組中第一個房間的名字。因為john.residence
現在是nil
,子腳本的調用失敗了。
if let firstRoomName = john.residence?[0].name {
println("The first room name is \(firstRoomName).")
} else {
println("Unable to retrieve the first room name.")
}
// 打印 "Unable to retrieve the first room name."。
在子代碼調用中可選鏈的問號直接跟在john.residence
的後麵,在子腳本括號的前麵,因為john.residence
是可選鏈試圖獲得的可選值。
如果你創建一個Residence
實例給john.residence
,且在他的rooms
數組中有一個或多個Room
實例,那麼你可以使用可選鏈通過Residence
子腳本來獲取在rooms
數組中的實例了:
let johnsHouse = Residence()
johnsHouse.rooms += Room(name: "Living Room")
johnsHouse.rooms += Room(name: "Kitchen")
john.residence = johnsHouse
if let firstRoomName = john.residence?[0].name {
println("The first room name is \(firstRoomName).")
} else {
println("Unable to retrieve the first room name.")
}
// 打印 "The first room name is Living Room."。