我分配我的NSMutableArray
,並添加對象alloced
以及。在我的陣列上調用release
還會釋放內部的元素,還是必須先手動釋放每個元素?發佈數組還會釋放其元素嗎?
-1
A
回答
2
obj-c集合中的對象被釋放時,該集合是解除分配(這不同於發佈)。因此,在實踐中,如果您將對象添加到collection中,則collection將管理其對象所有權,並且不需要爲其元素添加額外的版本。
2
查看Collections Programming Topics指南。更具體地, 陣列部和陣列基礎話題:
當數組是在託管內存環境釋放,每個 元件被髮送釋放消息。
因此,如果釋放的陣列帶來了其保留計數爲0,並且它是大約然後 被解除分配,在這一點的對象將收到一個release
消息。 否則,釋放數組只是將其保留計數遞減爲其他常規對象的任何其他 。
此外,當您將對象放置在數組中時,它們會收到retain
消息,如本指南所解釋的 。
相關問題
- 1. 當UITableView發佈時UITableViewHeaderFooterView不會釋放
- 2. 流星:發佈數組元素
- 3. 釋放空指針數組,釋放第一個元素後崩潰
- 4. 釋放NSMutableArray不影響數組中元素的數量
- 5. 動態數組超出範圍時會自動釋放嗎?
- 6. 如何正確釋放某些malloc'd數組元素?
- 7. Observable發出數組元素
- 8. 發現數組元素
- 9. 由其他元素組成的數組元素
- 10. Scripting.Dictionary的RemoveAll()方法是否首先釋放其所有元素?
- 11. 讀取數組的第一個元素或第4000個元素會更快嗎?
- 12. 使用AJAX時,我會回發整個數組還是數組的一個元素?
- 13. 釋放NSFileManager,如果它永遠不會到達發佈消息
- 14. 在angularjs中,爲什麼單擊一個元素還會觸發元素屬性中的其他方法調用?
- 15. 雙釋放會導致崩潰嗎?
- 16. 我釋放一個釋放對象後會發生什麼?
- 17. 發佈組件不會發布頁面?
- 18. 將元素添加到數組中不會增加其長度
- 19. 縮放數組的各個元素
- 20. VBScript - 將數組元素放入GetElementById
- 21. Javascript畫布元素 - 圖像數組
- 22. jQuery可排序:如何正確發佈元素ID數組?
- 23. UIImage釋放錯誤 - *** - [UIImage發佈]:發送到釋放實例的消息
- 24. 在PHP中,數組可以在其數組元素中引用自己嗎?
- 25. 將數組的元素,其基類
- 26. 連接每個其他數組元素
- 27. 縮放畫布以及其上的元素
- 28. 釋放HTML5畫布
- 29. jni-釋放對象數組
- 30. 關聯數組的釋放
所以我必須dealloc,然後釋放? – Voldemort 2012-03-28 15:40:59
不,你需要釋放你的數組,因爲你保留它,它會被自動釋放 - 然後它的元素將被釋放 – Vladimir 2012-03-28 15:41:52
因此1 alloc = 1釋放?謝謝。 – Voldemort 2012-03-28 15:45:36