7

我正在修改一个非 ARC的开源应用程序。我的大部分 iOS 体验都是使用启用了 ARC 的 Objective-c,所以当我创建新文件并将其添加到项目中时,我倾向于使用编译器标志使它们符合 ARC (尤其是当我遇到奇怪的非 arc 代码错误时)。

让我彻夜难眠的问题是:在我的项目中混合使用 arc 和非 arc 代码有多安全可靠?当 QA 时间到来时,测试内存泄漏和性能等内容会是一场噩梦吗?换一种方式问..是否值得将现有的非弧码转换为弧码并摆脱潜在的麻烦?

4

2 回答 2

9

您可以自由混合,没有任何问题。

于 2013-02-07T07:11:43.420 回答
0

我不认为这是安全的,因为当 ARC 开启时某些代码被禁止,例如这种方法:

- (void)dealloc
{
    [super dealloc];
}

当然,在发布时:

[exampleVariable release];

可以出现在非 ARC 项目中。

于 2013-02-07T09:16:09.920 回答