实际上我真的想不出任何原因为什么,无论是否有僵尸,访问解除分配的对象都可能发生。如果引用很强,则不会释放对象。如果引用很弱,则在取消分配对象时将其填入。
我想如果人们使用assign pointer会发生这种情况。但这样做会导致麻烦。
但是,有时我的应用程序会崩溃:
然而,应用程序确实崩溃并出现错误:消息发送到解除分配的实例0x189f09c0
我不知道为什么。
UIVavigationController弹出UIVavController会发生什么。然后它的viewDidScroll即将被调用。
但这很奇怪。
我启用了僵尸。但是,启用僵尸不应该是这种情况。这个答案清楚地表明,即使使用zomie进行调试
,所有弱引用都会被标记Are all weak references nilled if we enable zombie object?
那是怎么回事?