ドキュメントはそれについて何も言及していません。古いオブジェクトが「削除」され、新しいオブジェクトがその場所に来ると、古いオブジェクトはどうなりますか?私はそれを自分でリリースする必要がありますか?NSMutableArrayの-replaceObjectAtIndex:withObject:は、新しいオブジェクトで置き換えられた古いオブジェクトを解放しますか?
2
A
答えて
12
いいえ、あなたはそれを自分でリリースする必要はありません。
置き換え対象は0
新しいオブジェクトに等しい保持カウントを持っている場合は、エラーが出るかもしれませんが保持されます。古いオブジェクトが解放されます。
3
あなたはそれを解放する必要はありません。
あなたはのalloc、コピーを実行したり、それにを保持ので、メモリの責任を負いませんしませんでした - これでドキュメントが非常に明確です。
すでに設定されているメモリ管理ルールに違反していない限り、SDKの各メソッドのメモリ管理手順をAppleが文書化するとは思わないでしょう。ドキュメントに何も言わなければ、デフォルトのルールが適用されると考えることができます。
1
ドキュメントは非常に明確に、ファイルの先頭にこの権利を述べている:
にNSArrayと同様に、NSMutableArrayののインスタンスは、その内容への強い参照を維持します。ガベージコレクションを使用しない場合、オブジェクトを配列に追加すると、オブジェクトは保持メッセージを受け取ります。オブジェクトが変更可能な配列から削除されると、解放メッセージを受け取ります。オブジェクトへの参照がそれ以上ない場合は、オブジェクトの割り当てが解除されていることを意味します。プログラムがそのようなオブジェクトへの参照を保持している場合、オブジェクトが配列から削除される前にオブジェクトを保持メッセージを送信しない限り、参照は無効になります。
これは、すべての方法についてこれを繰り返し記述することはありません。
関連する問題
- 1. NodeJSで古いjsonオブジェクトを新しいものに置き換える方法
- 2. オブジェクトのnsmutablearrayを持つオブジェクトのNSmutableArrayを持つオブジェクト - 解放する方法
- 3. Sinon:スタブとオブジェクト全体を置き換えて新しいオブジェクトに置き換えます
- 4. 表示オブジェクトをFlash内の新しい表示オブジェクトに置き換えます。
- 5. 古いdivコンテンツを新しいコンテンツに置き換えます。
- 6. NSMutableArrayのオブジェクトを解放する必要がありますか?
- 7. ネストされたオブジェクトを別のオブジェクトに置き換えます。
- 8. アクション後に新しいオブジェクトを解放します
- 9. ListViewは新しいオブジェクトを追加するのではなく最初のオブジェクトを置き換えます
- 10. はremoveFromSuperviewオブジェクトを解放しますか?
- 11. 古いインストーラを新しいインストーラに置き換えよう
- 12. 古いURLを新しいURLに置き換える
- 13. 隠しオブジェクトを解放しますか?
- 14. viewDidUnloadのオブジェクトを解放しますか?
- 15. NSMutableArray。オブジェクト値が置換されていません
- 16. AVPlayterItemOutputで保存された古いフレームを解放します。
- 17. .NETガベージコレクタはいつこのオブジェクトを解放しますか?
- 18. 同じ種類の新しいオブジェクトを作成し、新しいオブジェクトを新しいオブジェクトに置き換えるメソッド
- 19. 古い画像がiOSアプリケーションで新しい画像に置き換えられた後に表示される
- 20. C#でCOMオブジェクトを解放します
- 21. CLRはCOMオブジェクトからメモリを解放しますか?
- 22. 作成したオブジェクトの__init__を__new__コンストラクタに置き換えます。
- 23. React:オブジェクトを更新した後、オブジェクト内の配列が置換されない
- 24. NSURLConnectionオブジェクトは解放できません。
- 25. 古いtfsサーバ `oldtfs`を新しいものnewtfs`で置き換える方法
- 26. 古いWPサイトを新しい更新済みサイトに置き換える
- 27. Javaコレクションのオブジェクトを置き換えるにはどうしたらいいですか?
- 28. 外側のオブジェクトを配列に置き換えるにはどうしたらいいですか?
- 29. JSONのオブジェクトの数私はオブジェクトの7番目の番号を置き換えたいどのように置き換えることができますか?
- 30. オブジェクトのメモリを解放します
retainCount> 1(他のオブジェクトがまだ保持している場合)の場合は、すぐにエラーになることはありません。 – rein
@rein - あなたが正しいです。私はより正確なフライシングへの答えを編集しました。 – Kriem
+1明確かつ簡潔な答えです。ありがとう。 –