古い OS X プログラムを書き直していますが、その過程で初めて ARC を使用しています。これらのプロパティ定義を含むクラスがあります。
@property NSMutableArray *variables; //variable names
@property NSData *ebndArray; //boundary energies
これらは次のように合成されます (インスタンス変数は宣言しません)。
@synthesize variables = _variables;
@synthesize ebndArray = _ebndArray;
initメソッドには次の行が含まれます。
self.variables = [[NSMutableArray alloc] initWithCapacity:self.npparxx];
self.ebndArray = [NSData dataWithBytesNoCopy:theArray length:arrayLength];
プロパティへの割り当てについてvariables、Xcode は警告Assigning reserved object to unsafe property を表示しています。ebndArrayプロパティの警告はありません。プロパティ定義に追加(strong)することで、警告 (および結果として生じる問題) を排除できることはわかっています。定義variablesに追加する必要がないのはなぜですか? ebndArrayを追加しなくても、ebndArrayプロパティは正しく機能し(strong)ますか?
OS X 10.7.3 で Xcode 4.3.2 を実行しています。