8

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

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

4

2 回答 2

17

我不知道,您如何删除在同一对象上注册的观察者。

但我认为以下方法将帮助您提前找到解决方案。

observationInfo

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

- (void *)observationInfo

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

于 2012-05-21T11:24:20.667 回答
2

不,我知道没有简单的方法。KVO 和 NSNotification 在这方面有所不同。如果您需要该功能,为什么不使用 NSNotification 而不是 KVO 来实现您的解决方案?

于 2012-05-21T11:35:12.447 回答