【发布时间】:2015-08-12 01:20:28
【问题描述】:
我正在处理非常旧的非 ARC 项目,并添加了一些基于 ARC 的新 UIViewControllers(可以通过在构建阶段设置 -fobjc-arc 标志来实现)。
由于混合使用 ARC 和非 ARC,有时会出现 memory leak,因为忘记在非 ARC 代码中的某个位置发布,从这里切换到那里可能会导致这种情况。
因此,我决定将非 ARC 项目转换为 ARC 项目并按照以下方式进行;
Convert non-ARC to ARC project without recreate it
而且刚刚去掉了dealloc、viewDidUnload函数内容,去掉了release或者autorelease相关的东西。
成功完成后,似乎可以继续工作,但有时会崩溃,例如发送到已释放实例的消息。
我可以找到崩溃的原因并且可以修复。
我想从这里知道的是;
- 在转换时,是否有任何特定的指南或规则来执行此操作,而不是简单地删除发布、自动发布相关的语句?
我们将不胜感激!
【问题讨论】:
标签: ios objective-c xcode memory-leaks automatic-ref-counting