Swift--可選類型

在java中,一個基本類型在沒有賦值的情況下,系統會爲自動爲其分配默認值,而一個引用的默認值則是null。而null通知情況下會造成空指針異常,導致奔潰。
在Swift,爲了避免這種惡劣的情況,提供了可選類型optional),用來表示值可能存在,可能缺省。這樣在擼代碼的時候,會提醒程序員注意。

var resultCode: Int? = 404
// resultCode包含一個可選的 Int 值 404
resultCode= nil
// resultCode現在不包含值

在類型後面帶?表示該變量或者常量是可選類型,要麼存在對應類型的值,要麼是nil

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

resultCode:Int?

用if來判斷是否值,在有值得情況下,使用!最爲後綴來強制使用。

if resultCode != nil {
    print("resultCode has an integer value of \(resultCode!).")
}

在編碼爲了簡潔,用可選綁定,簡潔代碼

if let result= Int(resultCode ) {
    print("\(resultCode )' has an integer value of \(result)")
} else {
    print("\(resultCode )' could not be converted to an integer")
}

resultCode有值得情況會走if分支,並值賦值給result,可在改分支使用。如果沒有值,則走else分支。
另外一種情況,可選類型賦值後會一直有值,如果每次使用都需要判斷或者解析,代碼量非常繁瑣和無聊,所以可以在變量或者常量聲明時帶上!後綴。

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