什么時候我應該將一個可選的值與零進行比較?通常,您需要編寫如下代碼:if someOptional != nil {
// do something with the unwrapped someOptional e.g.
someFunction(someOptional!)}這似乎有點冗長,而且我還聽說使用!強制展開操作符可能是不安全的,最好避免。有更好的方法來處理這件事嗎?
3 回答

慕姐8265434
TA貢獻1813條經驗 獲得超2個贊
if someOptional != nil { someFunction(someOptional!)}
if someOptional != nil { someFunction(SomeOptional!)}

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
可選鏈接是用于查詢和調用當前可能為零的可選項的屬性、方法和下標的進程。如果可選項包含值,則屬性、方法或下標調用將成功;如果可選項為零,則屬性、方法或下標調用返回nil。多個查詢可以鏈接在一起,如果鏈中的任何鏈接為零,則整個鏈將優雅地失敗。
class Person { var residence: Residence?}class Residence { var numberOfRooms = 1}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.")}// prints "Unable to retrieve the number of rooms."
- 3 回答
- 0 關注
- 511 瀏覽
添加回答
舉報
0/150
提交
取消