菜雞學(xué)Swift2.0 6.可選型 (Optional)

1. 可選型的聲明 ( 可選型的值可以是實值或者nil )

顯示聲明方法是在變量類型后面加上 弛房?(值可以是nil)
var name: String? = "jack"
隱式聲明方法是在變量后面加上 6獭(具體使用時必須確定是有值得)
var name: String! = nil
name = "jack"

2. 可選型強制解包

強制解包在可選型后面加上!就可以
var name: String? = "jack"
"他的名字是:" + name!
強制解包值如果為nil就會出錯
var name: String? = nil
"他的名字是:" + name!

3. if let 判斷解包多個可選項不為nil

多個解包中間可以用","隔開媒咳,還可以用where來同時判斷其他條件
解包完的值只能在{ } 中使用涩澡,在{ } 外面使用又變成可選型了
如果值是nil 則不可以解包
var errorMessge: String? = "信息"
var errorCode: String? =" 404 "
if let errorCode = errorCode , errorMessage where errorCode == "404" {
    "兩個值都不為nil"
}

4. Optional Chaining 和 Nil-Coalesce

//uppercaseString 是把字符串變?yōu)榇髮?var errorMessage:String? = "Hello"
//嘗試解包 如果值是nil 嘗試解包失敗就不執(zhí)行后面的方法
errorMessage?.uppercaseString
//強制解包 如果值是nil 強制解包會報錯
errorMessage!.uppercaseString
Optional Chaining ( 可選型鏈條 XXX?.XXXX?.XXXXX )
返回值是nil
var errorMessage:String? = nil
if let errorMessage = errorMessage?.uppercaseString {
    errorMessage
}
返回值是自定義的默認值
Nil-Coalesce (let 變量名 = 可選型 ?? "如果是nil給的默認值")
var errorMessage:String? = nil
let message = errorMessage ?? "默認值"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末射富,一起剝皮案震驚了整個濱河市粥帚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芒涡,老刑警劉巖掂恕,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異乎串,居然都是意外死亡,警方通過查閱死者的電腦和手機叹誉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門长豁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忙灼,“玉大人,你說我怎么就攤上這事酸舍±锍酰” “怎么了啃勉?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵双妨,是天一觀的道長。 經(jīng)常有香客問我泣特,道長,這世上最難降的妖魔是什么群扶? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任竞阐,我火速辦了婚禮暑劝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘担猛。我一直安慰自己丢氢,他們只是感情好先改,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著貌嫡,像睡著了一般该溯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夫椭,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天氯庆,我揣著相機與錄音,去河邊找鬼感凤。 笑死粒督,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的族跛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼礁哄,長吁一口氣:“原來是場噩夢啊……” “哼桐绒!你這毒婦竟也來了之拨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤烁竭,失蹤者是張志新(化名)和其女友劉穎派撕,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體终吼,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡际跪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片出牧。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡舔痕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伯复,到底是詐尸還是另有隱情,我是刑警寧澤侍匙,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布叮雳,位于F島的核電站,受9級特大地震影響帘不,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜储狭,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一捣郊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稻艰,春花似錦侈净、人聲如沸僧凤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至擅羞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間召烂,已是汗流浹背娃承。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酗昼,地道東北人梳猪。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓麻削,卻偏偏與公主長得像,于是被迫代替她去往敵國和親春弥。 傳聞我的和親對象是個殘疾皇子碟婆,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 之前學(xué)習(xí) Swift 的時候都是比較破碎,零零散散惕稻,以至于有些地方學(xué)習(xí)的不夠透徹竖共。所以趁最近有時間,就開始重新學(xué)習(xí)...
    HenryCheng閱讀 4,338評論 11 26
  • 對各種值為"空"的情況處理不當俺祠,幾乎是所有Bug的來源公给。 在我們的例子里,盡管tmp的值是nil蜘渣,但調(diào)用tmp的r...
    AKyS佐毅閱讀 10,520評論 1 13
  • 本篇將詳細總結(jié)介紹Swift可選型的用法淌铐;顧名思義,可選類型表示一個變量可能有值蔫缸,也可能沒有值(nil)腿准,但是它的...
    梧雨北辰閱讀 489評論 2 9
  • 常量與變量使用let來聲明常量,使用var來聲明變量。聲明的同時賦值的話吐葱,編譯器會自動推斷類型街望。值永遠不會被隱式轉(zhuǎn)...
    莫_名閱讀 448評論 0 1
  • 孫尚香背后的影子來不及反應(yīng)孟辑,只得立刻閃身離開饲嗽,手中銀光一閃貌虾,電子炮轟然炸開。孫尚香也已遠遁榴鼎。 墨子緩緩放下雙臂,一...
    眠在四季的飛魚閱讀 393評論 5 4