懒惰的存储属性
延迟存储的属性具有在首次访问之前不计算的值。当变量的计算计算量很大时,这对于节省内存很有用。你用 lazy
声明了一个懒惰的属性:
lazy var veryExpensiveVariable = expensiveMethod()
通常将它分配给闭包的返回值:
lazy var veryExpensiveString = { () -> String in
var str = expensiveStrFetch()
str.expensiveManipulation(integer: arc4random_uniform(5))
return str
}()
必须使用 var
声明延迟存储的属性。