【发布时间】:2011-01-21 00:52:39
【问题描述】:
我发现iphone有viewDidUnload和dealloc。我想释放对象。我应该使用哪种方法来释放对象?它们有什么不同?
【问题讨论】:
-
我不懂Objective-C或者iPhone开发,但是viewDidUnload听起来不像是用来释放对象的方法。
标签: iphone objective-c
我发现iphone有viewDidUnload和dealloc。我想释放对象。我应该使用哪种方法来释放对象?它们有什么不同?
【问题讨论】:
标签: iphone objective-c
区别在于viewDidUnload用于在内存不足的情况下释放“备用”对象,而dealloc用于在不再需要视图时释放所有对象。
这意味着您几乎总是有dealloc 方法,但只有在有意义的地方才有viewDidUnload 方法。
【讨论】:
请勿致电dealloc。使用保留释放模型进行内存管理,Objective-C 会为您处理释放内存。
请参阅this link 以获得有关保留释放如何工作的详细说明。
【讨论】:
发送release 或autorelease 以释放对象。你不应该发送dealloc; Obj-C 运行时会这样做。
如果你问在哪里你应该释放一个拥有的对象,阅读:“When should I release objects in -(void)viewDidUnload rather than in -dealloc?”
【讨论】: