我有一个Xcode 3.2目标项目。我想将此项目转换为ARC以改善将非ARC项目转换为ARC
的性能。我正在执行这些步骤。
编辑 - > Refactor->转换成Objective C的ARC
我已经得到了一些.mm文件到我禁用使用-fno-objc弧的弧。但即使在
这我收到很多错误(ARC问题)。用于例如主要是在自我= [超级INIT]呼叫时,
误差不能分配给自在init家族的方法之外。可以
有人告诉我我遵循正确的步骤吗?
我有一个Xcode 3.2目标项目。我想将此项目转换为ARC以改善将非ARC项目转换为ARC
的性能。我正在执行这些步骤。
编辑 - > Refactor->转换成Objective C的ARC
我已经得到了一些.mm文件到我禁用使用-fno-objc弧的弧。但即使在
这我收到很多错误(ARC问题)。用于例如主要是在自我= [超级INIT]呼叫时,
误差不能分配给自在init家族的方法之外。可以
有人告诉我我遵循正确的步骤吗?
我是想一谟转换为ARC和从旧创建一个新的,包括文件后 - 我得到的问题之一是
无法分配到“自我”的外方法在init家庭
的选择名称必须以init
开始 - 不仅如此 - 在我的情况初始化选择是:
-(id)initwithPage:(unsigned)pageNum {...}
注意小'w'。
我已经把它改为:
-(id)initWithPage:(unsigned)pageNum {...}
通知资本 'W'!
我的问题解决了。
我希望这可以帮助别人。
雷Wenderlich的教程有一个不错的ARC-转换两部分教程采取哪些应详细正确的步骤:Part 1Part 2
在您遇到的描述几乎总结起来误差的条款:您正在使用不符合the standard for init methods的方法分配到self
。我不能说这是否是合法的ARC之前,但它现在已经不复存在了。为了解决这个问题,可以将它作为一个init方法(遵循初始化方法,将一个超级初始化方法调用为self,初始化任何值并返回self),或者将其赋值给self。对于其他错误,请发表任何您遇到问题的帖子(其中很多内容都在Ray的教程中介绍),我们会尽我们所能。
即使我也在我的XCode中观察过它。 – Raj
附加说明:在LLVM的文档中提到了这一点(虽然非常巧妙):“选择器在某个选择器族中,如果忽略任何前导下划线,选择器的第一个组件完全由方法族的名称组成,或者它以名称开头,后面跟着字符**,而不是小写字母。**“ – Xono
并且不要忘记 - (id)返回值! – JeanNicolas