Swift-Optional的使用

關於Optional的使用,我查看了一些資料,比較好理解的是王巍的,有興趣的可以去看看https://swifter.tips

1.賦值nil

上一篇已經講到,可以給一個常量或者變量賦值爲nil來表示值缺失,同時這樣的寫法:

var surveyAnswer: String?

//聲明一個可選常量或者變量但是沒有賦值,它們會自動被設置爲 nil:

2.可選綁定

來判斷可選類型是否包含值,如果包含就把值賦給一個臨時常量或者變量。可選綁定可以用在 if 和 while 語句中,這條語句不僅可以用來判斷可選類型中是否有值,同時可以將可選類型中的值賦給一個常量或者變量。例如:

var string: String? = "string"

if let tempStr = string {

    print("string有值",tempStr)

}

輸出結果"string有值 string\n"

如果在if之後有多個需要判斷也可以使用這樣的語法,只是用“,”隔開就好了,例如:

if let firstNumber = Int("4"), let secondNumber = Int("42"), firstNumber < secondNumber && secondNumber < 100 

3.隱式解析可選類型

可選類型暗示了常量或者變量可以“沒有值”,但是很多情況下,我們需要變量是有值的,而且一些情況下,我們可以確定一些變量一定是有值的,那麼這個時候就可以選擇隱式解析可選類型。

當可選類型被第一次賦值之後就可以確定之後一直有值的時候,隱式解析可選類型非常有用。把想要用作可選的類型的後面的問號(String?)改成感嘆號(String!)來聲明一個隱式解析可選類型。一個隱式解析可選類型其實就是一個普通的可選類型,但是可以被當做非可選類型來使用,並不需要每次都使用解析來獲取可選值。

下邊來聲明一個隱式解析可選類型

let aStr: String! = "lalala,zhongtaiyang"

這樣聲明的常量在取值時,不需要“!”,直接賦值即可

let bStr: String = aStr

不會有錯誤

注意

⚠️如果是之前說的普通可選類型直接賦值就會報錯,需要加上“!”

使用就說這麼多,下一篇會寫一些關於多重optional的內容哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章