Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在修改一个非 ARC的开源应用程序。我的大部分 iOS 体验都是使用启用了 ARC 的 Objective-c,所以当我创建新文件并将其添加到项目中时,我倾向于使用编译器标志使它们符合 ARC (尤其是当我遇到奇怪的非 arc 代码错误时)。
让我彻夜难眠的问题是:在我的项目中混合使用 arc 和非 arc 代码有多安全可靠?当 QA 时间到来时,测试内存泄漏和性能等内容会是一场噩梦吗?换一种方式问..是否值得将现有的非弧码转换为弧码并摆脱潜在的麻烦?
您可以自由混合,没有任何问题。
我不认为这是安全的,因为当 ARC 开启时某些代码被禁止,例如这种方法:
- (void)dealloc { [super dealloc]; }
当然,在发布时:
[exampleVariable release];
可以出现在非 ARC 项目中。