![]() |
1
3
首先,为了你自己的利益不要太聪明。如果你想克服一些瓶颈,首先要测量并确保它真的存在。我相信两者
没有关于访问器的规则(至少据我所知没有),因为人们不会在访问器中进行太多的延迟加载。有时我会被懒惰造成的无休止的循环所吸引
|
![]() |
2
2
没有什么是禁止的,但你肯定在写一些混乱的代码。本质上,这两个属性具有循环依赖关系。这很难阅读和调试。不清楚为什么要在“加载图像”之前“加载数据”,或者为什么还要在“加载数据”之前支持“加载图像”,或者这两个属性实际上是两个不同的东西。 |
![]() |
3
0
在本例中实际执行的操作可能需要很长时间才能加载;最好确保它是线程安全的。
具体来说,您可能希望从提供程序调用加载数据/映像,从awakeFromNib调用它(例如),然后加载程序运行并将数据加载到辅助线程(特别是在下载的情况下)。给数据提供者一个回调,通知视图映像已经就绪(通常使用协议)。一旦视图获取了未归档的图像,请使数据提供程序无效。
简言之,它通常是可以的(例如,不懒惰初始化),但这个特定的设计(如另一个海报所说)有一个循环依赖,应该最小化。 |
![]() |
Safron · 结构和接口中的C#getters/setter 9 年前 |
![]() |
CalibeR.50 · 定义一个不返回特定字段的getter是好的做法吗? 11 年前 |
![]() |
WJR · Propel ORM-遍历find()中的数据不会提示getter 11 年前 |