optional可选值
2015-12-27 本文已影响0人
ZLWorm
- 在Swift中, 变量(常量)可能有值,可能为 nil ,称为可选
- 使用
?
标识某个值是一个可选值
- 使用
//num 可以是一个整数,也可以是nil,如果为 nil 不能参与计算
var num: Int? = 10
- 可选项的值不能直接进行运算
- 使用
!
向系统表明,我这个可选值里一定有值 (强行解包) - 需要考虑
!
标识的变量里是否真的有值- "unexpectedly found nil while unwrapping an Optional value" --> 对一个值为 nil 的可选项进行强制解包
- 使用
let r = num! + 10 //如果num为nil 则会报上面的错误
//使用的时候 可以判断是否为nil 不为nil的时候才进行运算
if (a != nil){
let r = num! + 10
print(r)
}
-
??
运算符- Swift 中
??
用于判断 常量/变量 的数值是否为nil,如果是nil,则用后面的值代替
- Swift 中
let r = (num ?? 0) + 10
print(r)
如果num不为nil ,正常进行运算;如果num为nil,则用0代替。