Swift 中的可空类型
Swift中的可空类型
印象中,C#语言很早就引入了可空类型。Swift语言也存在可空类型(也叫可选类型)。可空类型有个特有的特性,可空类型的变量,(1)要么有值 (2)要么为空(nil)。
声明可空类型,就是在类型名后面加一个“?”号。例如:
1 | var opValue1 : String? |
可空类型是对普通类型的一种包装。如果需要取可空类型变量的值,就需要对可空类型进行拆包操作。拆包使用拆包操作符“!”,在变量的后面加上感叹号,就可以进行拆包,取得可空类型的具体数据,例如:
1 | import Foundation |
以上拆包的操作必须保证可空变量的值有效,如果可空变量为nil,则拆包会导致程序运行错误,拆包之前需要先判断可空变量是否为nil。
1 | if opValue != nil { |
这里建议不要对可空变量进行拆包,而建议采用第二种拆包取值方法,叫实例绑定。它是一种 if-let/if-var
语法结构,如下:
1 | import Foundation |
可以一次性给多个可空变量进行实例绑定,如下所示:
1 | import Foundation |