有没有办法仅基于每个文件使用ARC迁移工具?

时间:2012-01-13 16:48:43

标签: ios xcode memory-management automatic-ref-counting

在整个项目中多次使用ARC迁移工具时,我发现了一些不一致的地方。

例如:

- (void)dealloc {
    [ivar release], ivar = nil;
}

第一次迭代将其转换为:

- (void)dealloc {
    ivar = nil;
}

第二次迭代完全消除-dealloc。假设在-dealloc中将ivars设置为nil是没有意义的,因为ARC无论如何都会自动执行此操作,因此ARC首先离开ivar = nil是很奇怪的。

为了防止可能出现的奇怪错误,有没有办法只将ARC迁移工具用于一个特殊文件而不是整个项目?

2 个答案:

答案 0 :(得分:4)

选择修改>重构>转换为Objective-C ARC,将打开一个工作表,其中包含项目目标的列表。单击目标旁边的显示三角形以显示源文件列表。从那里,您可以选择要转换为ARC的文件。

enter image description here

答案 1 :(得分:1)

我不相信。 您不必做太多“转换”项目以使用ARC支持。 删除所有dealloc,release和nil(如果需要)调用。

转换后不会出现奇怪的错误,因为编译器会为您处理所有事情,而不是错误的XCode。