我正在开发单一视图iOS 5.0+应用程序,我将以这种方式导航我的ViewControllers:
SearchViewController* search =
[[SearchViewController alloc] initWithNibName:@"SearchViewController"
bundle:nil];
[self presentViewController:search
animated:NO
completion:nil];
我的问题是,如果我从SearchViewController
开启HomeViewController
,HomeViewController
出现SearchViewController
后会被解雇吗?
我有很多UIViewController
,我不知道当用户在它们之间导航时,它们是否全部存在。
答案 0 :(得分:2)
如果你想呈现只有一个Viewcontroller你可以试试,
SearchViewController* search =
[[SearchViewController alloc] initWithNibName:@"SearchViewController"
bundle:nil];
[self dismissViewControllerAnimated:NO completion:^{
[self presentViewController:search
animated:NO
completion:nil];
}];
答案 1 :(得分:1)
当您从另一个ViewController
呈现ViewController
时,它们永远不会从内存中释放出来。要从内存中释放它们,您需要明确地将它们解除。
方法
presentViewController:animated:completion:
设置 presentViewController属性到指定的视图控制器, 调整视图控制器的视图大小,然后将视图添加到视图 层次结构。
所以你看到你正在获得一堆ViewControllers并在另一个上面添加一个View。