我在 xcode 4.2 中启用了 nszombie。(来自产品->editScheme)
我收到了这条消息:
-[buttons respondsToSelector:]: message sent to deallocated instance 0x48ae50
我确实有按钮类,但我看不出这条消息的确切问题。
我可以从 NSZombie 获得更多信息吗?
我在 xcode 4.2 中启用了 nszombie。(来自产品->editScheme)
我收到了这条消息:
-[buttons respondsToSelector:]: message sent to deallocated instance 0x48ae50
我确实有按钮类,但我看不出这条消息的确切问题。
我可以从 NSZombie 获得更多信息吗?
问题是按钮类型的对象被释放,然后它的respondsToSelector:方法被调用,该对象位于地址 0x48ae50。
如果你在没有 NSZombies 的情况下运行,你的应用程序就会崩溃。
此特定消息的含义是buttons
实例 (at 0x48ae50
) 已被释放 (aka release
d)。因此,通过尝试将respondsToSelector:
消息发送到nothing
(记住实例已被解除分配),它会引发错误。
尝试在它被触发的地方附近设置一个断点,看看为什么......(现在,你的buttons
对象最喜欢的地址是0x0
)
在大多数(如果不是全部)情况下,这与一些错误的内存管理有关;一个对象被释放得太快,在它必须的时候没有保留,等等...... ;-)