2

我目前正在考虑是否使用 KVO 或 NSNotifications 在我的单例属性发生更改时提醒我的 iOS 应用程序中的多个对象。

由于需要通知更改的所有对象都引用了单例,因此 KVO 似乎是自然的解决方案。但是,我从未将 KVO 与单例和多个观察者一起使用,所以我不知道这种模式是否可取甚至可能。

在具有多个观察者的单例中使用 KVO 是一个好主意(甚至可能)吗?

4

3 回答 3

5

当您可以等待事件循环时使用 NSNotifications。

当您需要立即响应状态变化时使用 KVO。

于 2011-07-01T08:25:55.787 回答
2

在这种情况下使用 KVO 是可行的,因为底层的 Cocoa 框架已经内置了通知观察者的支持,你不需要重新发明轮子

于 2011-07-01T08:59:04.133 回答
2

其他答案并没有回答真正的问题,即 KVO 是否与多个观察者一起在单例上观察同一事物。

然而,测试表明它运行良好,而且我没有看到任何关于这种做法是错误的做法。

于 2011-07-08T12:35:38.087 回答