2

私は最近、他の誰かのコードベースで作業を開始しましたが、これにたくさん出くわしました

@property (strong, retain) TYPE *iVar;

同じプロパティ宣言で Strong と Retain の両方が使用されているのを見たことがありません。保持はすでに強いことを意味しているため、コンパイルさえできることに驚いています。

プロジェクトはarcを使用しており、数か月前のものであるため、ここではレガシーは問題ではなく、展開ターゲットはiOS6です。

これをやりたい正当な理由はありますか?

4

2 に答える 2

2

retainと の両方でプロパティ宣言を使用する理由はありませんstrong- Apple のドキュメントによると、この 2 つは同義語です。

次の例に示すように、キーワードweakstrongは、新しい宣言されたプロパティ属性として導入されています。

// The following declaration is a synonym for: @property(retain) MyClass *myObject;
@property(strong) MyClass *myObject;
于 2013-08-30T11:22:42.020 に答える
0

ARC を使用している場合は、strong を使用してください。

2 つを混在させることは現在許可されている可能性がありますが、将来的にコンパイラの警告/エラーが発生する可能性があります。言うまでもなく、それは本当に奇妙に見えます。

于 2013-08-30T11:22:16.463 に答える