*延迟存储属性*
* 延迟存储属性是指当第一次被调用的时候才会计算其初始值的属性。在属性声明前使用lazy来标示一个延迟存储属性
* 最常见的延迟存储属性:
> * 执行某个方法返回处理好的数据
> * 执行某个闭包返回处理好的数据
* 注意:
* 必须将延迟存储属性声明成变量(使用var关键字),因为属性的初始值可能在实例构造完成之后才会得到。而常量属性在构造过程完成之前必须要有初始值,因此无法声明成延迟属性。
* 如果一个被标记为lazy的属性在没有初始化时就同时被多个线程访问,则无法保证该属性只会被初始化一次
lazy var dataList: \[String] = {
'' print("我懒加载了")
'' return ["lee", "jack", "why"]
'' }()
'' let demoFunc = {
'' () -> [String]
'' in
'' print("我懒加载了")
'' return ["lee", "jack", "why"]
'' }
'' lazy var dataList2: [String] = self.demoFunc()
网友评论