Swift 中的雙問號 ??

swift中有個雙問號操作符(??),可以用來快速對nil進行條件判斷,今天來補充下雙問號的用法,對于不期望某個optional值為nil時func返回nil 或者 因為其值為nil而停止了后續(xù)業(yè)務(wù)的情況下,我們可以用"??"在optionalValue為nil時做賦值保險操作(“??”操作后返回值為非optional)

用法:newValue = optionalValue ?? value

若optionalValue非nil時,newValue的值為optionalValue的值,若optionalValue為nil時,newValue的值為value的值

簡單明了直接上例子:self.objectForKey(key)為nil時,object的值為0

func?validIntValueForKey(key:?String)?->?Int?{

let?object?=?self.objectForKey(key)????Int(0)

//do?something

}

例子:賦default值

versionNameLabel.text?=?NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey?as?String)?as??String????"版本號讀取失敗"

例子:若為nil 賦值為String數(shù)組

[plain]view plaincopy

let?businessNameList?=?user.businessList?.flatMap{?$0.businessName?}????["無場館"]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容