【问题标题】:Need to dealloc all views in navigation controller需要释放导航控制器中的所有视图
【发布时间】:2010-04-24 17:16:30
【问题描述】:

我正在尝试设置应用内购买,一旦购买完成,我需要将应用重置为其初始启动状态。我想知道是否有办法释放每个导航控制器内的所有视图控制器并重新加载应用程序启动时显示的初始视图。

提前致谢!

【问题讨论】:

    标签: iphone uiviewcontroller uinavigationcontroller dealloc


    【解决方案1】:

    你可以

    [self.navigationController setViewControllers:nil animated:NO];
    

    (可能有效,尽管未经测试)但是使用起来可能更有用:

    [self.navigationController popToRootViewControllerAnimated:NO];
    

    由您来跟踪导航控制器并恢复您的起始视图。

    【讨论】:

    • 您好,感谢您提供的信息。如果我将所有视图控制器都设置为 nil 会造成一些内存泄漏吗?看来我应该以某种方式对他们调用 dealloc 。谢谢
    • 它们作为 NSArray 传入,它保留它的内容并在释放时释放它们,这是 nave 控制器的责任。您不应该在视图控制器本身上有任何保留,除非您需要在其他地方引用它们。 PS 我们从不直接调用 dealloc。
    猜你喜欢
    • 1970-01-01
    • 2012-05-07
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多