关于列出特定对象的观察者

时间:2012-03-30 10:46:12

标签: objective-c cocoa

  1. 有没有办法知道哪个是特定实例的观察者列表?

  2. 我如何使用observationInfo,你能提供一个例子吗?

  3. 感谢

1 个答案:

答案 0 :(得分:6)

在“技术说明TN2124:Mac OS X Debugging Magic”中有一篇关于如何使用observationInfo的文章。我们的想法是您可以在调试器中使用它来发现您需要的信息。

不仅如此,我尝试使用它:

id what = [self observationInfo];
NSLog(@"%@", [what description]);

这就是我在日志中得到的:

    <NSKeyValueObservationInfo 0x7fdb8953c380> (
<NSKeyValueObservance 0x7fdb8953c270: Observer: 0x7fdb8953bf60, Key path: subscribed, Options: <New: NO, Old: NO, Prior: NO> Context: 0x0, Property: 0x7fdb8953c350>
)

('subscribed'是我自己的一个对象中的ivar)

NSKeyValueObservationInfo或NSKeyValueObservance似乎没有公共接口。

看来我从你的问题中学到了新的东西!