1悟泵,在OC開發(fā)中搞坝,如果一個變量暫時不使用,可以賦值為0(基本類型)或者賦值為空(對象類型)
2魁袜,在swift中桩撮,nil是一種特殊類型,和真實的類型不匹配是不能賦值的(swift是強類型語言)
3峰弹,但是開發(fā)中賦值nil是在所難免的店量,因此推出了可選類型
可選類型的取值:
1, 空值
2鞠呈, 有值
4融师,swift中,對象中的任何屬性在創(chuàng)建對象時蚁吝,都必須有明確的初始化值
//可選類型
//因為swift 中的nil是特殊類型旱爆,在初始化變量時,需要設(shè)置為nil窘茁,這時就需要可選類型了
var name :Optional<String> = nil
//語法糖
var name1 : String? = nil
name1 = "jack"
print(name1)
//可選類型的取值怀伦,強制解包
name1!
//強制解包非常危險,如果可選類型為nil山林,強制解包系統(tǒng)就會崩潰房待,所以用到可選類型要判斷一下是否有值
if name1 != nil{
print(name1!)
}
//可選綁定
//1,判斷name1是否有值驼抹,沒有值桑孩,不執(zhí)行括號里的代碼,有值框冀,系統(tǒng)會將name1進行解包流椒,賦值給等號前面的臨時變量
if let name1 = name1{
print(name1)
}