【问题标题】:Objective-C: Point of releasing a ViewObjective-C:发布视图的点
【发布时间】:2010-06-26 19:23:16
【问题描述】:

我用 TableView 制作了一个静态主菜单。有时它会崩溃,因为我的子视图已经释放了一个子视图。

在本地对象的dealloc方法中释放一个View也可以,而不是那个:

[NavController pushViewController:self.AnotherView animated:YES];
[self.AnotherView release]; //This line into (void)viewDidLoad

AnotherView 在头文件中定义为属性,并在 .m 文件中同步

当我使用 dealloc 方式时,它在设备上运行良好,但我需要知道这是否正确。

【问题讨论】:

    标签: iphone objective-c release


    【解决方案1】:

    您只为您自己init 或alloc 的对象调用释放。如果它是您班级的属性,那么您班级的dealloc 中的release。

    所以在你的情况下,除非你在示例代码上方几行 init anotherView (相同的方法),在你将导致泄漏/SIG_ABORT 的地方调用 release,因为你已经这样做了过早的。

    请随意发布更多代码,特别是如何分配另一个视图,您可能会得到更具体的答案。

    【讨论】:

    • 发布将导致双重释放,而不是泄漏。
    • 是的。我试图了解西蒙收到的错误。但是,这是一个过早的发布。 TWSS
    猜你喜欢
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多