首页 > 解决方案 > Swift 中属性观察者的性能和资源成本是多少?

问题描述

在性能和资源方面,Swift 中的属性观察器到底有多贵?我对比较设计模式非常感兴趣,而 MVVM 模式因其大量使用属性观察器而引起了我的怀疑。就像自然界一样,编程中没有免费的午餐,如果某些事情看起来好得令人难以置信,则必须进行一些重大的权衡。

例如,如果随机对象(如视图控制器)中的属性发生更改,属性观察者可以捕获该更改并将通知发布到侦听该通知的任何对象(无论多么“远”)。这似乎好得令人难以置信,它可以完全取代对代表的需求。因此,如果我们对整个应用程序中的每个属性都这样做,那么总体性能/资源成本会是多少?

创建两倍多的对象(每个现有视图控制器一个额外的视图模型)由属性观察者紧密绑定在一起的模式不是完全违背了松散耦合的做法吗?

标签: swiftmvvmkey-value-observing

解决方案


推荐阅读