一尘不染

Swift中惰性var的优点是什么

swift

初始化的优点或区别是什么?

lazy var hintView: HintView = {
        let hintView = HintView()
        return hintView
}()

而不是简单地使用:

var hintView = HintView()

HintView是:class HintView: UIView {}

非常感谢您的帮助。


阅读 223

收藏
2020-07-07

共1个答案

一尘不染

惰性存储属性vs存储属性

具有惰性属性而不是存储属性有一些优点。

  1. 仅当您读取该属性时,才执行与lazy属性关联的闭包。因此,如果出于某种原因未使用属性(可能是由于用户的某些决定),则可以避免不必要的分配和计算。
  2. 您可以使用存储属性的值填充惰性属性。
  3. 您可以self在内部使用惰性属性关闭
2020-07-07