如何检索所有NSNotificationCenter观察者?

Ort*_*ntz 12 cocoa cocoa-touch nsnotificationcenter ios

我想检索给定通知名称的观察者(对象和选择器)列表.我知道没有正式的API.我也知道我可以继承NSNotificationCenter来实现这一目标.但有时候这不是一个可行的选择,因为NSNotificationCenter的使用遍布整个代码甚至二进制框架.

所以我正在寻找一种非官方/私人的方式来做到这一点.(因为它只是关于调试,没关系.)

Ort*_*ntz 18

最后,Apple添加了一种打印所有通知中心观察员的方法:

po [NSNotificationCenter defaultCenter]
Run Code Online (Sandbox Code Playgroud)

它以Name,Object,Observer和Options打印逗号分隔列表:

<NSNotificationCenter:0x7f997b307500>
Name, Object, Observer, Options
WebPreferencesRemovedNotification, 0x11165b680, 0x116c87ff8, 1400
UIApplicationWillEnterForegroundNotification, 0x11165b680, 0x7f997a838000, 1400
...
Run Code Online (Sandbox Code Playgroud)