我有一个 Xcode 3.2 目标项目。我想将此项目转换为 ARC 以改进
性能。我正在遵循这些步骤。
编辑->重构->转换为Objective C ARC
我有一些 .mm 文件,我正在使用 -fno-objc-arc 禁用 ARC。但即使之后
这我遇到了很多错误(ARC 问题)。例如,主要在 self=[super init] 调用中,
错误是不能在 init 系列中的方法之外分配给 self。能
有人告诉我我是否遵循正确的步骤?
我有一个 Xcode 3.2 目标项目。我想将此项目转换为 ARC 以改进
性能。我正在遵循这些步骤。
编辑->重构->转换为Objective C ARC
我有一些 .mm 文件,我正在使用 -fno-objc-arc 禁用 ARC。但即使之后
这我遇到了很多错误(ARC 问题)。例如,主要在 self=[super init] 调用中,
错误是不能在 init 系列中的方法之外分配给 self。能
有人告诉我我是否遵循正确的步骤?
我试图将一个项目转换为 ARC,并在创建一个新项目并包含旧项目的文件之后 - 我遇到的问题之一是
无法在 init 系列中的方法之外分配给“自我”
选择器名称必须以init
- 不仅如此 - 在我的情况下,初始化选择器是:
-(id)initwithPage:(unsigned)pageNum {...}
注意小“w”。
我已将其更改为:
-(id)initWithPage:(unsigned)pageNum {...}
注意大写的“W”!
我的问题解决了。
我希望这可以帮助别人。
Ray Wenderlich 的教程有一个非常好的 ARC 转换两部分教程,其中应详细说明要采取的正确步骤:第 1 部分第 2 部分
就您遇到的错误而言,描述几乎总结了它:您分配到self
的方法不符合init 方法的标准。我不能说这是否是 ARC 之前的合法,但它肯定不再是了。要解决这个问题,要么将其设为 init 方法(遵循将超级 init 方法调用到 self、初始化任何值并返回 self 的 init 实践),要么在其中取出对 self 的赋值。对于其他错误,请发布您遇到的任何问题(其中许多都包含在 Ray 的教程中),我们将尽我们所能。