Swift通過可選鏈調用方法
通過可選鏈調用方法
你可以使用可選鏈的來調用可選值的方法並檢查方法調用是否成功。即使這個方法冇有返回值,你依然可以使用可選鏈來達成這一目的。
Residence
的printNumberOfRooms
方法會打印numberOfRooms
的當前值。方法如下:
func printNumberOfRooms(){
println(“The number of rooms is \(numberOfRooms)”)
}
這個方法冇有返回值。但是,冇有返回值類型的函數和方法有一個隱式的返回值類型Void
(參見Function Without Return Values)。
如果你利用可選鏈調用此方法,這個方法的返回值類型將是Void?
,而不是Void
,因為當通過可選鏈調用方法時返回值總是可選類型(optional type)。即使這個方法本身冇有定義返回值,你也可以使用if
語句來檢查是否能成功調用printNumberOfRooms
方法:如果方法通過可選鏈調用成功,printNumberOfRooms
的隱式返回值將會是Void
,如果冇有成功,將返回nil
:
if john.residence?.printNumberOfRooms() {
println("It was possible to print the number of rooms.")
} else {
println("It was not possible to print the number of rooms.")
}
// 打印 "It was not possible to print the number of rooms."。