1

私はARCを使用しており、インターフェースでivarを宣言しています

id itemDelegate; 次に、プロパティを宣言します。

@property (nonatomic, weak) id<myAppDelegate> Delegate;

私の実装ファイルでは、次のように単純に合成します。

@synthesize Delegate;

ただし、次のエラーが表示されます。

「_weak プロパティ 'itemDelegate' の既存の ivar 'ItemDelegate' は _weak でなければなりません」.

誰でも解決策を提案できますか? 前もって感謝します。

4

1 に答える 1

2

iVar 宣言は自動的に作成されるため、削除するだけでかまいません。

問題は、iVar のデフォルトの所有権修飾子が__strong. したがって、id itemDelegateは と同じ__strong id itemDelegateです。プロパティを弱いと宣言すると、そこに問題があります。を使用する必要があります__weak。(または__unsafe_unretained、iOS 4 の下位互換性が必要な場合。)

于 2012-09-03T11:58:34.090 に答える