我發現iphone有viewDidUnload和dealloc。我想釋放該對象。我應該使用哪種方法來釋放對象?他們之間有什麼不同?哪種方法應該用來釋放對象?
3
A
回答
7
發送release
或autorelease
釋放一個對象。你不應該發送dealloc
; Obj-C運行時會這樣做。
如果你問其中你應該釋放所有的對象,內容如下:「When should I release objects in -(void)viewDidUnload rather than in -dealloc?」
0
別叫dealloc
。使用retain-release模型進行內存管理,Objective-C將負責爲您解除分配內存。
請參閱this link瞭解保留釋放的工作原理。
0
區別在於viewDidUnload
用於在內存不足的情況下釋放「備用」對象,而dealloc
用於在不再需要視圖時釋放所有對象。
這意味着您將幾乎總是有一個dealloc
方法,但只有在有意義的情況下才有viewDidUnload
方法。
相關問題
- 1. 一種方法來檢測哪些按鈕應該被釋放
- 2. 我應該用這種方法釋放對象嗎?
- 3. 我應該使用哪種方法?
- 4. 應該釋放線程對象嗎? C#
- 5. 對象釋放後調用方法?
- 6. 我應該使用哪種方法來清理文本區域?
- 7. 我應該使用哪種方法來實現此Storm拓撲?
- 8. 我們應該使用哪一種方法,用於存儲我們CoreData對象
- 9. 我應該在哪裏放置字段/方法註釋?
- 10. @Autowired註釋應該放在哪裏 - 屬性或方法?
- 11. 哪種方法應該注入JavaScript? (stringByEvaluatingJavaScriptFromString)
- 12. 我應該選擇哪種方法?
- 13. 應該覆蓋哪種數組方法?
- 14. 我應該使用哪種設計模式來針對不同的對象執行不同的方法?
- 15. 方法()應該放在哪裏?
- 16. django有沒有一種方法來註釋嵌套對象?
- 17. Python functools lru_cache類方法:釋放對象
- 18. 哪種方法可以使用自定義方法來擴展ExpressJS/Response對象?
- 19. 我應該在哪裏釋放物體?
- 20. iphone - 如果我釋放一個對象,而對象仍在運行它的一種方法時該怎麼辦?
- 21. 使用哪種方式來處理使用相同方法的多個對象
- 22. Java中的重構方法:我應該應用哪種模式?
- 23. 我應該使用哪種方法來存儲和回放android應用程序的圖像?
- 24. 爲什麼我應該[對象釋放];對象=無;何時釋放一個對象?
- 25. 無法釋放對象
- 26. 我應該使用哪種類型的asio解析器對象?
- 27. 什麼時候應該釋放異步使用的對象?
- 28. 我應該從CGImageSourceCopyPropertiesAtIndex調用中釋放返回對象嗎?
- 29. 從C++調用C#com對象,誰應該釋放內存?
- 30. 對象被釋放 - 爲什麼?哪裏?
我不知道Objective-C或iPhone開發,但viewDidUnload聽起來不像是用來釋放對象的方法。 – OregonGhost 2010-02-25 14:34:23