拆包:将可空类型转化成不可空类型
Swift不会进行自动进行拆包,因为可空类型的范围比不可空类型的范围大,拆包会减少精度。
举例:
强制拆包
a 为可空类型,b是不可能类型,a!强制拆包
隐式拆包:
var b:Int!
var a:Int? = 1
b = a
隐式装包:
let a = 1
var b:Int? = a
强制装包:
var a:Int = 1
var b:Int? = Optional(a)
Swift不会进行自动进行拆包,因为可空类型的范围比不可空类型的范围大,拆包会减少精度。
举例:
a 为可空类型,b是不可能类型,a!强制拆包
var b:Int!
var a:Int? = 1
b = a
let a = 1
var b:Int? = a
var a:Int = 1
var b:Int? = Optional(a)