理解可選項(xiàng)的概念
要么有值,要么為 nil
知道可選項(xiàng)的規(guī)則
參與計(jì)算前需要解包
知道兩個(gè)符號(hào)
? 定義可選項(xiàng)
! 對(duì)可選項(xiàng)解包,程序員要對(duì)每一次解包負(fù)責(zé)
常量可選項(xiàng)使用前需要設(shè)置初始值
變量可選項(xiàng)默認(rèn)是 nil
介紹
Optional 是 Swift 的一大特色,也是 Swift 初學(xué)者最容易困惑的問(wèn)題
定義變量時(shí),如果指定是可選的,表示該變量可以有一個(gè)指定類型的值,也可以是 nil
定義變量時(shí),在類型后面添加一個(gè) ?,表示該變量是可選的
變量可選項(xiàng)的默認(rèn)值是 nil
常量可選項(xiàng)沒(méi)有默認(rèn)值,主要用于在構(gòu)造函數(shù)中給常量設(shè)置初始數(shù)值
如果 Optional 值是 nil,不允許參與計(jì)算
只有解包(unwrap)后才能參與計(jì)算
在變量后添加一個(gè) !,可以強(qiáng)行解包
常見(jiàn)錯(cuò)誤
unexpectedly found nil while unwrapping an Optional value
翻譯
在對(duì)可選項(xiàng)[解包]時(shí)發(fā)現(xiàn) nil
?? 運(yùn)算符 (空合并運(yùn)算符)
?? 運(yùn)算符可以用于判斷 變量/常量 的數(shù)值是否是 nil,如果是則使用后面的值替代
在使用 Swift 開(kāi)發(fā)時(shí),?? 能夠簡(jiǎn)化代碼的編寫(xiě)