一、Swift中可选项的出现
为了解决OC中的nil问题
- OC中nil为无类型的指针
- OC中的数组、字典、集合都不能存放nil
- OC中所有变量都可以为nil
- OC只能用在对象上,而在其他地方比如NSNotFound只能表示值的缺失
二、定义
可选项的意思就是这个变量或者常量可能有值,也可能为空nil
三、可选项的使用方式
- 判断展开
//展开调用可选项
let strOptional: String? = "abc"
if strOptional != nil {
let count = strOptional!.count
print(count)
}
- 绑定展开
//绑定调用可选项
let strOptional: String? = "abc"
if let actualStr = strOptional {
let count = actualStr.count
print(count)
}
- 强制展开
//强制展开,加个!号 强制展开不推荐使用,因为如果strOptional为nil,则程序会报错
let strOptional: String? = "abc"
let count = strOptional!.count
- 隐式展开
//隐式展开
let strOptional: String! = "abc"
let count = strOptional.count
- 可选链的方式
//可选链的方式
let strOptional: String? = "abc"
let count = strOptional?.count
if count != nil {
let lastIndex = count! - 1
print(lastIndex)
}
网友评论