Swift3.x - 可選類型

可選類型介紹

  • 在OC開發(fā)中观蜗,如果一個變量暫時不使用口蝠,可以賦值為0(基本屬性類型)或者賦值為空(對象類型)
  • 在Swift開發(fā)中nil也是一種特殊類型避咆,因為和真實類型不匹配是不能賦值的(Swift是強類型語言)
  • 在開發(fā)中賦值nil在所難免,因此退出了可選類型
  • 可選類型的取值
    • 空值
    • 有值

可選類型的定義
1俐筋、基本寫法

var flowerName: Optional<String> = nil

2静秆、?語法糖(常用方式)

var flowerName: String? = nil

可選類型的賦值

var flowerName: String? = nil
flowerName = "violet"
//結果:violet 

可選類型的?取值
可選類型+粮揉!為強制解包巡李,獲取可選類型的值。
注意:強制解包時危險的操作扶认,如果可選類型的值為nil侨拦,強制解包會導致系統(tǒng)crash!
強制解包前進行判斷可選類型的值是否為nil蝠引,再解包取值阳谍。

var flowerName: String? = nil
//直接解包打印會crash
//print(flowerName!)
flowerName = "violet"
if flowerName != nil  {
    print(flowerName!)
}
//結果:violet

可選類型的可選綁定

  • 判斷可選類型是否有值,如果沒有值螃概,則不執(zhí)行{}內的語句。
  • 如果可選類型有值鸽疾,則系統(tǒng)自動將flowerName解包吊洼,并將解包后的值賦值給新的常量flowerName。
    var flowerName: String? = nil
    flowerName = "violet"

    if flowerName != nil  {
        print(flowerName!)
    }
    //等價與上述方法
    if let flowerName = flowerName {
        print(flowerName)
    }

Zeb

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末制肮,一起剝皮案震驚了整個濱河市冒窍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌豺鼻,老刑警劉巖综液,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異儒飒,居然都是意外死亡谬莹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門桩了,熙熙樓的掌柜王于貴愁眉苦臉地迎上來附帽,“玉大人,你說我怎么就攤上這事井誉〗栋纾” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵颗圣,是天一觀的道長喳钟。 經(jīng)常有香客問我,道長在岂,這世上最難降的妖魔是什么奔则? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮洁段,結果婚禮上应狱,老公的妹妹穿的比我還像新娘。我一直安慰自己祠丝,他們只是感情好疾呻,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布除嘹。 她就那樣靜靜地躺著,像睡著了一般岸蜗。 火紅的嫁衣襯著肌膚如雪尉咕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天璃岳,我揣著相機與錄音年缎,去河邊找鬼。 笑死铃慷,一個胖子當著我的面吹牛单芜,可吹牛的內容都是我干的。 我是一名探鬼主播犁柜,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼洲鸠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了馋缅?” 一聲冷哼從身側響起扒腕,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎萤悴,沒想到半個月后瘾腰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡覆履,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年蹋盆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片内狗。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡怪嫌,死狀恐怖,靈堂內的尸體忽然破棺而出柳沙,到底是詐尸還是另有隱情岩灭,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布赂鲤,位于F島的核電站噪径,受9級特大地震影響,放射性物質發(fā)生泄漏数初。R本人自食惡果不足惜找爱,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泡孩。 院中可真熱鬧车摄,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至意狠,卻和暖如春粟关,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背环戈。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工闷板, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人院塞。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓遮晚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迫悠。 傳聞我的和親對象是個殘疾皇子鹏漆,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,776評論 1 10
  • 可選類型 使用可選類型(optionals)來處理值可能缺失的情況〈葱梗可選類型表示: 有值,等于 x 或者 沒有值,...
    蠱毒_閱讀 415評論 0 1
  • 在編程世界中有一種非常通用的模式括蝠,那就是某個操作是否要返回一個有效值鞠抑。 在 Objective-C 中,對 nil...
    風從虎云從龍118閱讀 168評論 0 1
  • 本篇主要對Swift3.0版本的可選類型經(jīng)常使用的場景及注意點加以總結,當做以后可以隨時翻譯的資料法绵;因為本篇為自己...
    Amio_閱讀 6,932評論 14 46
  • 驚雷長空云嘯風箕速,一劍軒轅斬霄虹。 亂世山河煙藏雨朋譬,四匕寒月斷禍烽盐茎。 ――――《驚烽》扶搖 濁酒虛塵星,寒燭枯南夢徙赢。...
    扶搖小先生閱讀 527評論 2 1