swift中懶加載必須使用var關鍵字來定義延遲加載的屬性,不能使用let關鍵字,因爲常量必須在實例構建時賦值。
懶加載常見格式: 後面通過等號賦值一個閉包,閉包後面必須跟上() ,
如果閉包是用於懶加載,那麼in 之前的代碼都可以省略,包括 in 在內
比如
lazy var array:[String] = {
// () -> [String] in
return ["a","b"]
}()
也可以通過函數形式進行懶加載,比如
let lazyFunc = {
() -> [String] in
return ["123","456"]
}
lazy var array2:[String] = self.lazyFunc()