惰性初始化,就是在变量第一次使用的时候才进行初始化。
Swift中,有两种方式来惰性初始化。
第一种,简单表达式
lazy varfirst = NSArray(objects:"1","2")
第二种,闭包
lazy varsecond:String= {return"second"}()
使用场景:
1、属性本身依赖于外部因素才能初始化
2、属性需要复杂计算,消耗大量CPU(耗时)
3、属性不确定是否会使用到
如果 = nil, 再用.用到的时候不会再创建,所以小心使用。
网友评论