【问题标题】:Which method should use to release an object?应该使用哪种方法来释放对象?
【发布时间】:2011-01-21 00:52:39
【问题描述】:

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

【问题讨论】:

  • 我不懂Objective-C或者iPhone开发,但是viewDidUnload听起来不像是用来释放对象的方法。

标签: iphone objective-c


【解决方案1】:

区别在于viewDidUnload用于在内存不足的情况下释放“备用”对象,而dealloc用于在不再需要视图时释放所有对象。

这意味着您几乎总是有dealloc 方法,但只有在有意义的地方才有viewDidUnload 方法。

【讨论】:

    【解决方案2】:

    请勿致电dealloc。使用保留释放模型进行内存管理,Objective-C 会为您处理释放内存。

    请参阅this link 以获得有关保留释放如何工作的详细说明。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        相关资源
        最近更新 更多