次のようなプロパティがある場合
@property (nonatomic, retain) NSUrlConnection *connection;
最初に変数をプロパティに割り当てたときは保持されますが、プロパティを新しい NSUrlConnection に再割り当てするときは、最初にプロパティを解放してから再割り当てする必要がありますか?
[self.connection release];
self.connection = [........
ARCは使いません。
次のようなプロパティがある場合
@property (nonatomic, retain) NSUrlConnection *connection;
最初に変数をプロパティに割り当てたときは保持されますが、プロパティを新しい NSUrlConnection に再割り当てするときは、最初にプロパティを解放してから再割り当てする必要がありますか?
[self.connection release];
self.connection = [........
ARCは使いません。
いいえ、すべて処理されます。プロパティセクションのhttp://cocoadevcentral.com/d/learn_objectivec/を参照してください。
プロパティがメモリ管理を担当します。新しい値を再割り当てする前に解放する必要はありません。ivar を使用していた場合、それは異なります。
プロパティを使用すると、単純に設定しnil
て解放できます。プロパティのretainCountが0に達すると、メモリから自動的に削除されます。