KVO - 如何获取对象注册观察者的列表



我正在一堆表视图控制器上动态注册一个观察者,因此如果以前的观察者是在同一对象上注册的,我需要删除它们。为此,我需要检查对象上是否存在观察者。

这可能吗?我知道使用 NSNotification 您可以使用 NSNotification 中心单例,但这对 KVO 来说是一样的吗?

我不知道

,如何删除在同一对象上注册的观察者。

但我认为下面的方法将帮助您更轻松地找到解决方案。

observationInfo

返回一个指针,该指针标识有关向接收方注册的所有观察器的信息。

- (void *)observationInfo

此方法的默认实现从由接收方指针键控的全局字典中检索信息。

不,我知道没有简单的方法。KVO和NSNotization在这一点上有所不同。如果您需要 NSNotification 而不是 KVO 来实现您的解决方案?

最新更新