2009-05-25 15 views

答えて

12

いいえ、あなたはそれを自分でリリースする必要はありません。

置き換え対象は0

新しいオブジェクトに等しい保持カウントを持っている場合は、エラーが出るかもしれませんが保持されます。古いオブジェクトが解放されます。

+0

retainCount> 1(他のオブジェクトがまだ保持している場合)の場合は、すぐにエラーになることはありません。 – rein

+0

@rein - あなたが正しいです。私はより正確なフライシングへの答えを編集しました。 – Kriem

+1

+1明確かつ簡潔な答えです。ありがとう。 –

3

あなたはそれを解放する必要はありません。

あなたはのallocコピーを実行したり、それにを保持ので、メモリの責任を負いませんしませんでした - これでドキュメントが非常に明確です。

すでに設定されているメモリ管理ルールに違反していない限り、SDKの各メソッドのメモリ管理手順をAppleが文書化するとは思わないでしょう。ドキュメントに何も言わなければ、デフォルトのルールが適用されると考えることができます。

1

ドキュメントは非常に明確に、ファイルの先頭にこの権利を述べている:

にNSArrayと同様に、NSMutableArrayののインスタンスは、その内容への強い参照を維持します。ガベージコレクションを使用しない場合、オブジェクトを配列に追加すると、オブジェクトは保持メッセージを受け取ります。オブジェクトが変更可能な配列から削除されると、解放メッセージを受け取ります。オブジェクトへの参照がそれ以上ない場合は、オブジェクトの割り当てが解除されていることを意味します。プログラムがそのようなオブジェクトへの参照を保持している場合、オブジェクトが配列から削除される前にオブジェクトを保持メッセージを送信しない限り、参照は無効になります。

これは、すべての方法についてこれを繰り返し記述することはありません。

関連する問題