Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 释放UINavigationController中的viewcontroller_Iphone_Ios - Fatal编程技术网

Iphone 释放UINavigationController中的viewcontroller

Iphone 释放UINavigationController中的viewcontroller,iphone,ios,Iphone,Ios,如何释放UINavigationController中的所有viewcontroller,而不释放UINavigationController对象本身 我的情况是,我有一个navigationcontroller,其中包含一组viewcontroller。在某些情况下,我希望为可用的navigationcontroller设置一个新的viewcontroller作为rootViewController。因此我使用 “[navigationcontrollerObj initWithRootVie

如何释放UINavigationController中的所有viewcontroller,而不释放UINavigationController对象本身

我的情况是,我有一个navigationcontroller,其中包含一组viewcontroller。在某些情况下,我希望为可用的navigationcontroller设置一个新的viewcontroller作为rootViewController。因此我使用

“[navigationcontrollerObj initWithRootViewController:viewController]”方法

它工作正常,并且我的新视图层次结构设置正确。但我的问题是,以前推送的ViewController尚未发布

这就是我以前推送ViewController的方式

[navigationcontrollerObj推送ViewController:viewControllerObj]; viewControllerObj release]


请提供任何帮助……

如果您想弹出到rootviewcontroller,可以尝试以下操作:

[self.navigationController popToRootViewControllerAnimated:NO];

如果您不在其他任何地方保留视图控制器,这也将释放所有视图控制器。确保按下视图控制器后已释放所有视图控制器。完成此操作后,您可以将任何视图控制器设置为rootviewcontroller。

如果要弹出到rootviewcontroller,您可以尝试以下操作:

[self.navigationController popToRootViewControllerAnimated:NO];
[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

如果您不在其他任何地方保留视图控制器,这也将释放所有视图控制器。确保按下视图控制器后已释放所有视图控制器。完成此操作后,您可以将任何视图控制器设置为rootviewcontroller。

我总是在视图控制器推送到导航控制器后立即释放视图控制器我总是在视图控制器推送到导航控制器后立即释放视图控制器
[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