Optional 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题可选的,表示该变量可以有一个指定类型的值,也可以是 nil?,表示该变量是可选的nil//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
let num: Int? = 10
nil,不允许参与计算解包(unwrap)后才能参与计算!,可以强行解包注意:必须要确保解包后的值不是 nil,否则会报错
//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
let num: Int? = 10
//: 如果 num 为 nil,使用 `!` 强行解包会报错
let r1 = num! + 100
//: 使用以下判断,当 num 为 nil 时,if 分支中的代码不会执行
if let n = num {
let r = n + 10
}
unexpectedly found nil while unwrapping an Optional value
翻译
在[解包]一个可选值时发现 nil
?? 运算符?? 运算符可以用于判断 变量/常量 的数值是否是 nil,如果是则使用后面的值替代?? 能够简化代码的编写let num: Int? = nil
let r1 = (num ?? 0) + 10
print(r1)原文:http://www.cnblogs.com/-liangjingjing/p/5349729.html