Swift 提供了雙問號(hào)操作符(??),英文叫 Double Question Mark输硝】t?梢杂脕砜焖賹?duì) nil 進(jìn)行條件判斷录煤。當(dāng)我們獲取一個(gè)可選值(optional value)時(shí)捞稿,如果希望其為 nil 的情況下返回一個(gè)非 nil 值身冀,那么就可以把這個(gè)返回值放在 ?? 后面。下面演示幾個(gè)常見的使用場景括享。
1,可選值不為nil則使用可選值珍促,為nil則使用默認(rèn)值
比如我們把 userName 這個(gè)參數(shù)值顯示在 label 中铃辖,但希望 userName 如果為 nil 的話便顯示"未知用戶"。
這個(gè)我們可以使用三元條件運(yùn)算來實(shí)現(xiàn):
var userName:String?
self.label.text = userName != nil ? userName : "未知用戶"
但使用雙問號(hào)操作符會(huì)更加簡單:
var userName:String?
self.label.text = userName ?? "未知用戶"