NSMutableArray
を割り当て、alloced
のオブジェクトも追加します。配列のrelease
を呼び出すと、その中の要素が解放されるのですか、または各要素を手動で最初に解放する必要がありますか?配列を解放すると要素も解放されますか?
-1
A
答えて
2
obj-cコレクションのオブジェクトは、が解放されたときに解放されます。(これはリリースされているものと同じではありません)。実際にコレクションにオブジェクトを追加すると、コレクションはそのオブジェクトの所有権を管理し、その要素に余分なリリースを置く必要はありません。
2
ガイドを確認してください。より具体的には、 アレイ部及びアレイの基礎トピック:
アレイは管理メモリ環境でを割り当て解除された場合、各 要素は、解放メッセージが送信されます。だから、
配列を解放すると、0にその保持カウントをもたらし、それはおよそ が割り当て解除されるように、その後で、この時点でオブジェクトがrelease
メッセージが表示されます場合。 それ以外の場合、配列を解放すると、他の の通常のオブジェクトと同じように、保持カウントがデクリメントされます。
また、アレイにオブジェクトを配置すると、retain
というメッセージが表示されます( )。
関連する問題
- 1. 空のポインタ配列を解放すると、最初の要素を解放した後にクラッシュする
- 2. NSValueは解放されるとその値を解放しますか?
- 3. 連想配列の解放
- 4. カカオ64ビットバイナリリークメモリ? (NSDataを解放するとメモリが解放されません)
- 5. 配列のメモリを解放する
- 6. NSArrayを解放するとNSArrayを解放する
- 7. ダイナミック構造を解放するとメモリが解放されない
- 8. View Controllerを解放すると、すべてのプロパティが解放されますか?
- 9. Objective-C - オブジェクトインスタンスが解放/解放されているかどうかのテスト
- 10. ABPersonRemoveImageDataが解放されてもリークしますか?
- 11. ハッシュテーブル要素を削除してもメモリが解放されない
- 12. Delphi 2009ではバリアント配列を解放する必要がありますか?
- 13. 配列DML操作のメモリー解放
- 14. UITableViewフッターに要素を配置すると、その要素をいつ解放するのですか?
- 15. なぜTObjectListを解放するとコントロールも削除されますか?
- 16. 関連レコードを解放してYii1のメモリを解放する
- 17. ポインタの配列のメモリを解放しますか?
- 18. ARCと解放メモリ
- 19. 完了前にObj-C自動解放ネットワークリクエストが解放されました
- 20. ツリー内のすべての要素を解放する
- 21. 異なるスレッドからの解放ロックの解放
- 22. アンドロイドリソースが解放されたときは?
- 23. オブジェクトを配列から解放する方法は?
- 24. アプリケーションのシャットダウン前にWCFプロキシが解放されていないリソースが解放されていますか?
- 25. C文字列の配列を解放する
- 26. Cでmallocされた配列の最後の要素を解放する方法は?
- 27. サブビューを解放する
- 28. トライ木を解放する
- 29. CGImage(CGImageRef)を解放する
- 30. JNIメモリを解放する
私はdeallocし、リリースする必要がありますか? – Voldemort
いいえ、配列を保持したまま解放する必要があります。自動的に割り当てが解除され、その要素が解放されます。 – Vladimir
したがって、1 alloc = 1 release?ありがとう。 – Voldemort