0

我在 xcode 4.2 中启用了 nszombie。(来自产品->editScheme)

我收到了这条消息:

-[buttons respondsToSelector:]: message sent to deallocated instance 0x48ae50

我确实有按钮类,但我看不出这条消息的确切问题。

我可以从 NSZombie 获得更多信息吗?

4

2 回答 2

2

问题是按钮类型的对象被释放,然后它的respondsToSelector:方法被调用,该对象位于地址 0x48ae50。

如果你在没有 NSZombies 的情况下运行,你的应用程序就会崩溃。

于 2012-04-19T08:39:45.013 回答
0

此特定消息的含义是buttons实例 (at 0x48ae50) 已被释放 (aka released)。因此,通过尝试将respondsToSelector:消息发送到nothing(记住实例已被解除分配),它会引发错误。

尝试在它被触发的地方附近设置一个断点,看看为什么......(现在,你的buttons对象最喜欢的地址是0x0

在大多数(如果不是全部)情况下,这与一些错误的内存管理有关;一个对象被释放得太快,在它必须的时候没有保留,等等...... ;-)

于 2012-04-19T08:39:36.020 回答