Swift编程我们的2019

Swift--可选类型

2019-02-20  本文已影响4人  GitCode8

在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!
上一篇下一篇

猜你喜欢

热点阅读