我一直在研究为什么懒惰的,计算的属性和属性观察器不能(让)保持不变,例如,我知道直到被访问后才分配懒惰,但是为什么不能(让它)保持懒散,这意味着在被访问并分配给我们分配的值之前,lazy会保存nil值或其他任何值吗?请为计算属性和属性观察器解释相同的内容。
谢谢。
Lazy properties:您必须始终将lazy属性声明为变量(使用var关键字),因为直到实例初始化完成后才可能检索其初始值。常量属性在初始化完成之前必须始终具有一个值,因此不能声明为惰性。
计算属性:而计算属性则计算(而不是存储)一个值。相反,它们提供了一个getter和一个可选的setter,以间接检索和设置其他属性和值。
属性观察者:属性观察者将监视属性值的变化,如果定义为let,则如何监视变化,因为let是一种常量,在初始化后便无法更改。