可选类型介绍
- 在OC开发中,如果一个变量暂时不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型)
- 在Swift开发中nil也是一种特殊类型,因为和真实类型不匹配是不能赋值的(Swift是强类型语言)
- 在开发中赋值nil在所难免,因此退出了可选类型
- 可选类型的取值
- 空值
- 有值
可选类型的定义
1、基本写法
var flowerName: Optional<String> = nil
2、�语法糖(常用方式)
var flowerName: String? = nil
可选类型的赋值
var flowerName: String? = nil
flowerName = "violet"
//结果:violet
可选类型的�取值
可选类型+!为强制解包,获取可选类型的值。
注意:强制解包时危险的操作,如果可选类型的值为nil,强制解包会导致系统crash!
强制解包前进行判断可选类型的值是否为nil,再解包取值。
var flowerName: String? = nil
//直接解包打印会crash
//print(flowerName!)
flowerName = "violet"
if flowerName != nil {
print(flowerName!)
}
//结果:violet
可选类型的可选绑定
- 判断可选类型是否有值,如果没有值,则不执行{}内的语句。
- 如果可选类型有值,则系统自动将flowerName解包,并将解包后的值赋值给新的常量flowerName。
var flowerName: String? = nil
flowerName = "violet"
if flowerName != nil {
print(flowerName!)
}
//等价与上述方法
if let flowerName = flowerName {
print(flowerName)
}
Zeb
网友评论