@synthesize color = _color;
が、私はエラーが表示されます。
ARC forbids synthesizing a property of Objective-C object with unspecified ownership or storage attribute
これは何を意味しますか?
私がしようとしているのは、色を変更するUIColor
オブジェクトのプロパティを作成することです。
@synthesize color = _color;
が、私はエラーが表示されます。
ARC forbids synthesizing a property of Objective-C object with unspecified ownership or storage attribute
これは何を意味しますか?
私がしようとしているのは、色を変更するUIColor
オブジェクトのプロパティを作成することです。
変更にあなたのプロパティ宣言:
@property (nonatomic,strong) UIColor *color;
はそのためARCは、それを保持する必要がある知っています。これはARCの前にstrong
なしでコンパイルされていましたが、デフォルト値はassign
であり、他の場所に保持されていない限り、色はリリースされていたので危険です。
ARCについてWWDC2011のビデオをお勧めします。
プロパティがブロックの場合には、 'copy'と明示的に言及する必要がある場合を除き、これは必須ではありません。だから問題は別のものです。 –
@VikramRao、この質問は2.5歳です。それが尋ねられた時点で、合成クラスのプロパティを宣言する必要がありました。デフォルトは 'assign'でした。 – Brian
@Brianとにかく、受け入れられた答えを更新するのは良いでしょう。それを知らないこれらの開発者は、明示的に書く必要があると考えるかもしれません。今のところ、このエラーは主にブロックで示されています。ブロックは 'copy'である必要があります。オブジェクトはデフォルトで '強い'で、 'BOOL'、' NSInteger'などのプリミティブ型 - 'assign'であり、オブジェクト/プリミティブ型では誰もこのエラーを見ることはできません。 – Vive
完全なクラス宣言と実装が必要な場合があります。あなたが手動で 'copy'と指定しなければならないブロックでない限り、プロパティーのデフォルトの記憶域は強くなります。 –