仅在需要时初始化

时间:2016-02-12 18:26:46

标签: ios swift

我有一种偶尔会被调用的方法。它依赖于我不想实例化的属性,除非调用该方法,但同时我不想重新实例化该属性(如果已经实例化)。这是什么延迟加载?

我目前正在使用:

property = property ?? Property()

这似乎工作正常,但我想对这种方法进行健全检查。

1 个答案:

答案 0 :(得分:3)

您所要做的就是将该属性声明为lazy,并且只在需要时才会初始化。

class MyClass {
  lazy var myLazyArray = [String]()
}

var myObject = MyClass() // myObject.myLazyArray still not initialized
myObject.myLazyArray.append("hello") // Now we're in business!
print(myObject.myLazyArray)