应该使用哪种方法来释放对象?

时间:2010-02-25 14:30:15

标签: iphone objective-c

我发现iphone有viewDidUnload和dealloc。我想释放这个对象。我应该使用哪种方法来释放对象?他们之间有什么不同?

3 个答案:

答案 0 :(得分:7)

发送releaseautorelease以释放对象。你不应该发送dealloc; Obj-C运行时会这样做。

如果你要求在哪里你应该释放一个拥有的对象,请阅读:“When should I release objects in -(void)viewDidUnload rather than in -dealloc?

答案 1 :(得分:0)

请勿致电dealloc。使用retain-release模型进行内存管理,Objective-C将负责为您释放内存。

有关保留释放如何运作的详细解释,请参阅this link

答案 2 :(得分:0)

不同之处在于viewDidUnload用于在低内存情况下释放“备用”对象,而dealloc用于在不再需要视图时释放所有对象。

这意味着您几乎总是拥有dealloc方法,但只有在有意义的情况下使用viewDidUnload方法。