7

我有一个 Xcode 3.2 目标项目。我想将此项目转换为 ARC 以改进

性能。我正在遵循这些步骤。

编辑->重构->转换为Objective C ARC

我有一些 .mm 文件,我正在使用 -fno-objc-arc 禁用 ARC。但即使之后

这我遇到了很多错误(ARC 问题)。例如,主要在 self=[super init] 调用中,

错误是不能在 init 系列中的方法之外分配给 self。能

有人告诉我我是否遵循正确的步骤?

4

2 回答 2

15

我试图将一个项目转换为 ARC,并在创建一个新项目并包含旧项目的文件之后 - 我遇到的问题之一是

无法在 init 系列中的方法之外分配给“自我”

选择器名称必须以init- 不仅如此 - 在我的情况下,初始化选择器是:

-(id)initwithPage:(unsigned)pageNum {...}

注意小“w”。

我已将其更改为:

-(id)initWithPage:(unsigned)pageNum {...}

注意大写的“W”!

我的问题解决了。

我希望这可以帮助别人。

于 2012-12-04T14:16:14.173 回答
1

Ray Wenderlich 的教程有一个非常好的 ARC 转换两部分教程,其中应详细说明要采取的正确步骤:第 1 部分第 2 部分

就您遇到的错误而言,描述几乎总结了它:您分配到self的方法不符合init 方法的标准。我不能说这是否是 ARC 之前的合法,但它肯定不再是了。要解决这个问题,要么将其设为 init 方法(遵循将超级 init 方法调用到 self、初始化任何值并返回 self 的 init 实践),要么在其中取出对 self 的赋值。对于其他错误,请发布您遇到的任何问题(其中许多都包含在 Ray 的教程中),我们将尽我们所能。

于 2012-09-17T06:28:51.283 回答