自學(xué)Swift之可選值Optionals

在swift中引入了一個(gè)新的類(lèi)型,可選值類(lèi)型Optionals,初看Optionals的感覺(jué)很陌生,在我第一眼看到它的時(shí)候,我就在想...這是什么鬼...但是仔細(xì)想想的話(huà),可選值Optionals類(lèi)型的引入,為我們也帶了便利.

接下來(lái),讓我來(lái)看看可選值Optionals是什么吧.

 概念: 或者有一個(gè)值,或者沒(méi)有值(nil)

可選值并不是一個(gè)確定的類(lèi)型,可以理解為是對(duì)人類(lèi)基本類(lèi)型進(jìn)行包裝 之后的類(lèi)型,在Object-c中不能為一個(gè)變量指定一個(gè)nil值,指定一個(gè)nil值, 會(huì)在運(yùn)行時(shí)程序崩潰.

int num = nil;    // 看編譯器的時(shí)候,只會(huì)有警告,運(yùn)行時(shí)有異常

有時(shí)候,我們聲明一個(gè)變量,不一定要給它賦值,有人會(huì)說(shuō),在Object-c中直接聲明一個(gè)變量就好了

int num;   
// 運(yùn)行時(shí)會(huì)隨機(jī)分配一個(gè)值給變量,如果是先寫(xiě)后讀的話(huà),沒(méi)有任何事情,但是如果是先讀后寫(xiě)的話(huà)
具體會(huì)發(fā)生什么,那也只有上帝知道了...不過(guò)現(xiàn)在編譯器會(huì)默認(rèn)賦值為0, 最終結(jié)果是num不為nil

但是要知道的時(shí)候,雖然我們沒(méi)有手動(dòng)給變量賦值,但是程序在運(yùn)行時(shí)會(huì)隨機(jī)分配一個(gè)值給變量
如果我說(shuō),我要一個(gè)變量沒(méi)有值為nil,在后面能給它賦值的話(huà),顯然Object-c是不能滿(mǎn)足我們的需求的
如果有java語(yǔ)言功底的話(huà),基本類(lèi)型也是不賦值為null的,但是在基本類(lèi)型之上進(jìn)行了一個(gè)層包裝

int : Integer //包裝類(lèi)型 Integer 的話(huà),是可以賦值為null

swift能滿(mǎn)足我們的要求,所以swift增加了新的類(lèi)型,可選值 Optionals類(lèi)型


var name:String? = “l(fā)d” 

這樣聲明或許有人說(shuō),你這不是有值啊

var name:String? 

使用該行代碼的話(huà),在playground 顯示結(jié)果為nil , 會(huì)有人說(shuō)不明顯

var name:String? = nil        

這下明顯了,Object-c 不能直接給值賦值成nil,Swift 也是一樣, 但是使用可選值類(lèi)型就可以完成賦值成nil這項(xiàng)’壯舉'了


可選值Optionals類(lèi)型 !?

 var num1:Int? = 10
 var num2  = num1!  // 此處感嘆號(hào)為強(qiáng)制解析,若果num1為nil此處必然拋異常
Optionals?與!.jpg
 有問(wèn)號(hào)的,表示:我有沒(méi)有值,不太確定,使用我的時(shí)候要小心了
 有著驚嘆號(hào)的表示:兄弟,我有值,盡情的搞我吧...
 在使用!來(lái)解析?聲明的變量的時(shí)候需要謹(jǐn)慎..

上面所說(shuō)的,所聲明都是基本類(lèi)型的,如果是對(duì)象類(lèi)型的話(huà),是可以賦值為nil,并且調(diào)用對(duì)象方法是不會(huì)有任何反應(yīng)的.

_ 今天本來(lái)已經(jīng)為Optionals已經(jīng)打好草稿了...本來(lái)想著回來(lái)直接使用草稿中的內(nèi)容直接發(fā)表了...不過(guò)復(fù)制著,然后改著...現(xiàn)在發(fā)現(xiàn)已經(jīng)和原來(lái)的草稿不大一樣了...每寫(xiě)一次都會(huì)學(xué)到不同的東西!... _

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市徒像,隨后出現(xiàn)的幾起案子葫掉,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)每聪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)齿风,“玉大人药薯,你說(shuō)我怎么就攤上這事【劝撸” “怎么了童本?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)脸候。 經(jīng)常有香客問(wèn)我穷娱,道長(zhǎng),這世上最難降的妖魔是什么运沦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任泵额,我火速辦了婚禮,結(jié)果婚禮上携添,老公的妹妹穿的比我還像新娘嫁盲。我一直安慰自己,他們只是感情好烈掠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布羞秤。 她就那樣靜靜地躺著,像睡著了一般左敌。 火紅的嫁衣襯著肌膚如雪瘾蛋。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天母谎,我揣著相機(jī)與錄音瘦黑,去河邊找鬼京革。 笑死奇唤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的匹摇。 我是一名探鬼主播咬扇,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼廊勃!你這毒婦竟也來(lái)了懈贺?” 一聲冷哼從身側(cè)響起经窖,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梭灿,沒(méi)想到半個(gè)月后画侣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堡妒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年配乱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮迟。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搬泥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伏尼,到底是詐尸還是另有隱情忿檩,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布爆阶,位于F島的核電站燥透,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辨图。R本人自食惡果不足惜兽掰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望徒役。 院中可真熱鬧孽尽,春花似錦、人聲如沸忧勿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸳吸。三九已至熏挎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晌砾,已是汗流浹背坎拐。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留养匈,地道東北人哼勇。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像呕乎,于是被迫代替她去往敵國(guó)和親积担。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

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