【问题标题】:Releasing viewcontroller inside UINavigationController在 UINavigationController 中释放视图控制器
【发布时间】:2013-01-23 07:45:44
【问题描述】:

如何释放 UINavigationController 中的所有视图控制器,而不释放 UINavigationController 对象本身。

我的情况是,我有一个带有一组视图控制器的导航控制器。在某些情况下,我想为可用的导航控制器设置一个新的视图控制器作为 rootViewController。所以我使用了

"[navigationcontrollerObj initWithRootViewController:viewController]"; 方法。

它工作正常,我的新视图层次结构设置正确。但我的问题是,以前推送的视图控制器没有被释放。

这就是我之前推送视图控制器的方式

[navigationcontrollerObj pushViewController:viewControllerObj]; viewControllerObj 发布];

请帮忙.....

【问题讨论】:

  • 我总是在视图控制器被推送到导航控制器后立即释放它

标签: iphone ios


【解决方案1】:

如果你的意思是弹出到rootviewcontroller,你可以试试这个:

[self.navigationController popToRootViewControllerAnimated:NO];

如果您没有在其他任何地方保留它,这也会释放所有视图控制器。确保你在推送后释放了所有的视图控制器。完成后,您可以将任何视图控制器设置为 rootviewcontroller。

【讨论】:

    【解决方案2】:
    [self.navigationController popToRootViewControllerAnimated:NO]; will pop all other view controller
    - (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated // use this function to change the root view controller
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多