在同一iOS项目中混合使用ARC和非ARC代码有多安全?

时间:2013-02-07 07:09:52

标签: ios objective-c automatic-ref-counting

我正在修改非ARC的open source app。我的大部分iOS体验都是使用ARC启用objective-c,所以当我创建新文件并将其添加到项目中时,我倾向于使用compiler flags使它们符合ARC标准(特别是当我遇到奇怪的非弧代码时) bugs)。

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

2 个答案:

答案 0 :(得分:9)

你可以毫无问题地自由混合。

答案 1 :(得分:0)

我不认为这是安全的,因为在启用ARC时会禁止某些代码,例如此方法:

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

当然在发布时:

[exampleVariable release];

非ARC项目可以存在。