swift中的懒加载就是一个闭包,只执行一次的闭包,懒加载有两种调用方式:1.只使用闭包的方式,这种方式没有延迟调用的特性,在持有它的对象初始化的时候就会调用,就像上面的代码;2.带有Lazy关键字修饰的闭包方式,这种只有在使用的时候才会调用,Lazy是延迟调用关键字。
<pre>
lazy var dataList:[String] = {
print("我被搞了")
return ["1","2","3"]
}()
</pre>
<pre>
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print(dataList)
print(dataList)
print(dataList)
}
</pre>
<pre>
我被搞了
["1", "2", "3"]
["1", "2", "3"]
["1", "2", "3"]
</pre>
网友评论