鲜为人知的事实是:在Xcode中,当使用调试器暂停时,现在可以自省通知中心以了解哪些对象注册接收哪些通知:
(lldb) po NotificationCenter.default
<NSNotificationCenter:0x6040000d40b0>
Name, Object, Observer, Options
com.apple.accessibility.reduce.motion.status, 0x10b126190, 0x7fc795700140, 1001
com.apple.accessibility.asst.scanner.status, 0x10b126190, 0x7fc795700140, 1001
// ... etc. ...
很好,但是我如何从获取内存地址0x7fc795700140
到了解那是什么对象呢?
编辑:我会保留这个问题,但我认为正确的答案是在LLDB(Swift):将原始地址转换为可用类型中所示的类型。
po <address> as NSObject
时很幸运,首先得到了对象,然后尝试作为本地类型(但据我回忆,两者是相同的)。 - Chris Conover