懶惰的儲存屬性
延遲儲存的屬性具有在首次訪問之前不計算的值。當變數的計算計算量很大時,這對於節省記憶體很有用。你用 lazy
宣告瞭一個懶惰的屬性:
lazy var veryExpensiveVariable = expensiveMethod()
通常將它分配給閉包的返回值:
lazy var veryExpensiveString = { () -> String in
var str = expensiveStrFetch()
str.expensiveManipulation(integer: arc4random_uniform(5))
return str
}()
必須使用 var
宣告延遲儲存的屬性。