将旧的目标C代码转换为ARC(自动引用计数)的问题

时间:2012-02-22 05:10:16

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

我正在尝试将以前没有ARC的客观C代码转换为ARC。我正在执行Xcode中的程序:文件>编辑>重构>转换为ARC。

但是我无法转换它,因为它会产生很多错误。我搜索了这个;我正在尝试更改Xcode Target中的构建设置。

1 个答案:

答案 0 :(得分:6)

转换为ARC工具不是一个神奇的子弹,它使您的项目突然ARC准备就绪。该工具的作用是删除所有对release& retain,它还可以将一些autorelease池切换为新的@auto release {}样式。 在它执行任何此操作之前,它会运行一个飞行前脚本来查找过于复杂的内容,以便找出并将它们标记为错误,以便您可以浏览每个内容并进行正确的修复。

您需要逐步解决这84个问题中的每个问题,并找出每个问题的解决方案。最有可能的是,在多个地方有六种左右的错误,但每种情况可能会有一个稍微不同的解决方案。 Xcode可能会针对某些错误建议一些可能的修复(任何显示带有白色方块的停止符号的错误都有可能的修复,Xcode只是不知道要使用哪个,所以你需要选择)。在谷歌的帮助下,一些问题很容易解决。也可能会有比最终更多的错误(我转换了一个项目,每次我修复错误并尝试转换报告更多)。

对于您在进行某些研究后无法弄清楚的错误,您应该在此处发布问题,请确保具体,因为转换为ARC时可能会导致许多问题。