Swift - 雙問號操作符(??)的介紹

Swift 提供了雙問號操作符( ??),英文叫   Double Question Mark。可以用來快速對   nil 進行條件判斷。當我們獲取一個可選值( optional value)時,如果希望其爲   nil 的情況下返回一個非   nil 值,那麼就可以把這個返回值放在   ?? 後面。下面演示幾個常見的使用場景。

 

1,可選值不爲nil則使用可選值,爲nil則使用默認值

比如我們把   userName  這個參數值顯示在   label 中,但希望   userName 如果爲   nil 的話便顯示" 未知用戶"。
原文:Swift - 雙問號操作符(??)的介紹(附樣例)
 
這個我們可以使用三元條件運算來實現:
1
2
var   userName: String ?
self .label.text = userName !=  nil   ? userName :  "未知用戶"
但使用雙問號操作符會更加簡單:
1
2
var   userName: String ?
self .label.text = userName ??  "未知用戶"


2,as? 類型轉換後處理nil值

1
let   message = json[ "message" ]  as ?  String   ??  "no message"


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章