定义
- 当数据可能接收nil的时候,使用optional是比较合适的
- 当非可选型被赋值为nil的时候 系统会崩溃
- 当可选型被赋值为nil的时候 系统会首先判断值是否为nil,如果为nil 则会赋值nil;如果不为nil,那就正常操作。
Optional 可选型 写法
var sexy : String? = "boy"
强制解包
if sexy != nil {
print("i am a \(String(describing: sexy))")
}else{
print("none")
}
官方推荐解包方式
if let ksex = sexy {
print("i am a \(ksex)")
}else{
print("none")
}
隐式解包 定义时候后面跟着!就可以隐式解包
var sexy2 : String!
var sexy3 : String = sexy2 ?? "boy"//使用的时候不需要进行解包 并且可以通过 ?? 给变量赋一个默认值
使用Optional的变量 首先要解包
if...else
guard ... else{}