我有一个Xcode 3.2目标项目。我想将此项目转换为ARC以改进
表现。我正在遵循这些步骤。
编辑 - >重构 - >转换为目标C ARC
我有一些.mm文件,我使用-fno-objc-arc禁用ARC。但即使在
之后这我遇到了很多错误(ARC问题)。例如,主要在self = [super init]调用中,
错误无法在init系列中的方法之外分配给self。可以
有人告诉我,我是否遵循了正确的步骤?
答案 0 :(得分:15)
我试图将一个项目转换为ARC,并在创建一个新项目并包含旧文件后 - 我得到的一个问题是
无法在init系列中的方法之外分配给“self”
选择器名称必须以init
开头 - 不仅如此 - 在我的情况下,init选择器是:
-(id)initwithPage:(unsigned)pageNum {...}
注意小'w'。
我已将其更改为:
-(id)initWithPage:(unsigned)pageNum {...}
注意首都'W'!
我的问题已经解决了。
我希望这有助于某人。
答案 1 :(得分:1)
就您所遇到的错误而言,描述几乎总结了:您在不符合the standard for init methods的方法中分配给self
。我不能说这是合法的预ARC,但它肯定不再存在。要解决这个问题,要么使其成为一个init方法(遵循将init方法调用为self的init实践,初始化任何值,并返回self),或者将其赋值给self。对于其他错误,请发布您遇到问题的任何问题(其中许多内容都包含在Ray的教程中),我们将尽我们所能。