有没有办法,如果我们从不使用赋值指针,可以访问解除分配的对象?

时间:2013-12-06 08:08:18

标签: ios objective-c

实际上我真的想不出任何原因为什么,无论是否有僵尸,访问解除分配的对象都可能发生。如果引用很强,则不会释放对象。如果引用很弱,则在取消分配对象时将其填入。

我想如果人们使用assign pointer会发生这种情况。但这样做会导致麻烦。

但是,有时我的应用程序会崩溃:

然而,应用程序确实崩溃并出现错误:消息发送到解除分配的实例0x189f09c0

我不知道为什么。

UIVavigationController弹出UIVavController会发生什么。然后它的viewDidScroll即将被调用。

但这很奇怪。

我启用了僵尸。但是,启用僵尸不应该是这种情况。这个答案清楚地表明,即使使用zomie进行调试

,所有弱引用都会被标记

Are all weak references nilled if we enable zombie object?

那是怎么回事?

1 个答案:

答案 0 :(得分:1)

如果您想查找已解除分配的实例并跟踪其生命周期(保留和释放的位置和时间),请参阅link

这真的对我很有帮助!