我有奇怪的行为。我的应用程序正在启动UINavigationController
。如果我推视图控制器ANavigationController
,返回并模拟内存警告一切正常。
如果我推相同的视图控制器(ANavigationController
)同样的方式,返回并模拟内存警告 - 应用程序崩溃并出现错误:
[ANavigationController retain]
:消息发送到已释放的实例。
在调试时,我打印了推送控制器的地址并释放了一个:
- 第一次推送时 - 推送的控制器地址是
0xDA724F0
.
- 如果我回去模拟内存警告 - 一切都好。
- 第二次推送——
–dealloc
带地址的控制器方法0xDA724F0
called.
- 新推送的控制器地址为
0xFA720F0
.
- 返回并模拟内存警告崩溃并出现错误:
[ANavigationController retain]
:消息发送到已释放的实例0xDA724F0
.
我不确定这是否是问题的解决方案或解决方法,但为此特定文件禁用 ARC 可以解决此问题。当然,我必须自己去管理内存。
不过,如果有任何关于问题所在的线索,我将不胜感激。
EDIT
找到了解决这个问题的方法。请看我对另一个问题的回答:[UINavigationController 保留]:发送到已释放实例的消息 https://stackoverflow.com/questions/25126567/uinavigationcontroller-retain-message-sent-to-deallocated-instance/25139204#25139204
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)