7

Xcode3.2を対象としたプロジェクトがあります。このプロジェクトをARCに変換して、

パフォーマンス。私はこれらの手順に従っています。

編集->リファクタリング->ObjectiveCARCに変換

-fno-objc-arcを使用してARCを無効にしている.mmファイルがいくつかあります。でもその後も

これで多くのエラーが発生します(ARCの問題)。たとえば、主にself = [super init] callで、

エラーは、initファミリのメソッドの外部で自分自身に割り当てることはできません。できる

誰かが私が正しい手順に従っていると私に言いますか?

4

2 に答える 2

15

I was trying to convert a projet to ARC and after creating a new one and including the files from the old one - one of the issues i got was

Cannot assign to 'self' outside of a method in the init family

The selector name MUST begin with init - not only that - in my case the init selector was:

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

Notice the small 'w'.

I have changed it to:

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

Notice the capital 'W'!

My problem was solved.

I hope this helps someone.

于 2012-12-04T14:16:14.173 に答える
1

Ray Wenderlichのチュートリアルには、非常に優れたARC変換の2部構成のチュートリアルがあり、実行する正しい手順を詳しく説明する必要があります。パート1 パート2

あなたが抱えているエラーに関しては、説明はそれをほぼ要約しています:あなたはinitメソッドの標準をself満たさないメソッドでに割り当てています。それがARC以前の合法であるかどうかについて話すことはできませんが、それは確かにもはやそうではありません。これを解決するには、それをinitメソッドにするか(super initメソッドをselfに呼び出し、値を初期化し、selfを返すというinitプラクティスに従います)、またはその中のselfへの割り当てを取り出します。その他のエラーについては、問題が発生している場合は投稿してください(それらの多くは、Rayのチュートリアルで説明されています)。できる限りのことを行います。

于 2012-09-17T06:28:51.283 に答える