序言:OC中有懒加载,Swift中用lazy关键字声明属性,也可以实现懒加载。lazy所修饰的属性只有第一次访问时才加载,如果永远不访问,它就不创建,这样可以对优化内存使用。
lazy属性有两种初始化的写法:
第1种写法代码如下(存储属性):
lazy var className : string = "i am a string"
//这种写法就是在普通的赋值初始化前面加上lazy关键字。
第2种写法代码如下(计算属性):
lazy var stutentList : Array = {
// let list = downloadStudentsListFromSqlite
return list
}()
//这种写法是闭包的写法,将闭包的值赋值给lazy变量,所以末尾需要小括号(),以完成闭包的调用。