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

KAR*_*MED 4 objective-c ios automatic-ref-counting

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

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

the*_*wan 6

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

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

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

  • 我还可以补充说,如果错误来自第三方库,那么基于每个文件关闭ARC可能是一种选择. (3认同)