XCode 4.3.2 で、ARC 変換リファクタリング ツールを実行すると、「保持」されていたすべてのプロパティ オプションが「強力」に変更されません。「強い」は現在暗示されていますか、それともこれは XCode 4.3.2 の問題ですか?
例:
前
@property (nonatomic, retain) NSString * someString;
後
@property (nonatomic) NSString * someString;
XCode 4.3.2 で、ARC 変換リファクタリング ツールを実行すると、「保持」されていたすべてのプロパティ オプションが「強力」に変更されません。「強い」は現在暗示されていますか、それともこれは XCode 4.3.2 の問題ですか?
例:
前
@property (nonatomic, retain) NSString * someString;
後
@property (nonatomic) NSString * someString;
ARC (LLVM 3.1) を使用する場合は "strong" がデフォルトであるため、新しいコードは正しいものです。
(ARC の前は、デフォルトは「割り当て」でした) http://clang.llvm.org/docs/AutomaticReferenceCounting.html#ownership.spelling.property
を参照してください。
Strong は、非 ARC の保持と同等です。そのため、非 ARC から ARC に移行すると、XCode は保持という単語を理解せず、削除します。これにより、すべてのインスタンス変数で少なくとも 2 つのプロパティを宣言する必要があるため、エラーまたは少なくとも警告が発生します。