Swift中惰性var的优点是什么

问题描述

惰性存储属性vs存储属性

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

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

解决方法

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

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

而不是简单地使用:

var hintView = HintView()

HintView是:class HintView: UIView {}

非常感谢您的帮助。