在整个项目中多次使用ARC迁移工具时,我发现了一些不一致的地方。
例如:
- (void)dealloc {
[ivar release], ivar = nil;
}
第一次迭代将其转换为:
- (void)dealloc {
ivar = nil;
}
第二次迭代完全消除-dealloc。假设在-dealloc中将ivars设置为nil是没有意义的,因为ARC无论如何都会自动执行此操作,因此ARC首先离开ivar = nil
是很奇怪的。
为了防止可能出现的奇怪错误,有没有办法只将ARC迁移工具用于一个特殊文件而不是整个项目?
答案 0 :(得分:4)
选择修改>重构>转换为Objective-C ARC,将打开一个工作表,其中包含项目目标的列表。单击目标旁边的显示三角形以显示源文件列表。从那里,您可以选择要转换为ARC的文件。
答案 1 :(得分:1)
我不相信。 您不必做太多“转换”项目以使用ARC支持。 删除所有dealloc,release和nil(如果需要)调用。
转换后不会出现奇怪的错误,因为编译器会为您处理所有事情,而不是错误的XCode。