Swift3.x - 可选类型

可选类型介绍

  • 在OC开发中,如果一个变量暂时不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型)
  • 在Swift开发中nil也是一种特殊类型,因为和真实类型不匹配是不能赋值的(Swift是强类型语言)
  • 在开发中赋值nil在所难免,因此退出了可选类型
  • 可选类型的取值
    • 空值
    • 有值

可选类型的定义
1、基本写法

var flowerName: Optional = 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

你可能感兴趣的:(Swift3.x - 可选类型)