为什么不能将属性观察者添加到惰性属性中?

NSo*_*tic 7 ios swift

我看了一个关于swift基础知识的教程,并且传递了一个注释,即属性观察者不能添加到惰性属性中,但没有给出任何理由.为什么会这样?

Fir*_*iro 3

文档确实证实了这一点:

除了惰性存储属性之外,您还可以将属性观察器添加到您定义的任何存储属性中

来源

但他们没有提供理由。

我猜想属性观察者必须访问他们正在观察的属性才能将自己附加为观察者,尽管它“感觉”不像你。再说一次,这只是一个猜测,但如果我是正确的,那么显然拥有一个惰性属性是无关紧要的。惰性属性是在第一次访问时计算的,如果使用观察者访问该属性,那么它将立即计算,这从一开始就完全违背了它的目的。