Optional 可选类型
2017-03-03 本文已影响0人
IsComing乜邪
理解可选项的概念
要么有值,要么为 nil
知道可选项的规则
参与计算前需要解包
知道两个符号
? 定义可选项
! 对可选项解包,程序员要对每一次解包负责
常量可选项使用前需要设置初始值
变量可选项默认是 nil
介绍
Optional 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题
定义变量时,如果指定是可选的,表示该变量可以有一个指定类型的值,也可以是 nil
定义变量时,在类型后面添加一个 ?,表示该变量是可选的
变量可选项的默认值是 nil
常量可选项没有默认值,主要用于在构造函数中给常量设置初始数值
如果 Optional 值是 nil,不允许参与计算
只有解包(unwrap)后才能参与计算
在变量后添加一个 !,可以强行解包
常见错误
unexpectedly found nil while unwrapping an Optional value
翻译
在对可选项[解包]时发现 nil
?? 运算符 (空合并运算符)
?? 运算符可以用于判断 变量/常量 的数值是否是 nil,如果是则使用后面的值替代
在使用 Swift 开发时,?? 能够简化代码的编写