位置:首頁 > 高級語言 > Swift教學 > Swift使用可選鏈調用子腳本

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."。