重複の可能性:
ARCで@propertiesを使用する理由は何ですか?
NB:私は実際に私たちがプロパティを廃止できるとは思いませんが、私はなぜそうしないのかについての理由を理解しようとしています。:)
この質問に戻ると、プロパティを使用する主な理由は、メモリ管理の問題を回避するためのようです。つまり、プロパティを作成することで、これらすべての保持メソッドと解放メソッドを書き出す必要がなくなります。
- (void) setOtherObj:(MyOtherObject *)anOtherObject {
if (otherObject == anOtherObject) {
return;
}
MyOtherObject *oldOtherObject = otherObject; // keep a reference to the old value for a second
otherObject = [anOtherObject retain]; // put the new value in
[oldOtherObject release]; // let go of the old object
}
ARCは現在これを処理しているので、プロパティをすべて一緒に廃止して、次のようなことでivarを設定することはできませんotherObject = anotherObject
か?