2

我正在开发一个单视图 iOS 5.0+ 应用程序,我将通过这种方式浏览我的 ViewControllers:

SearchViewController* search =
[[SearchViewController alloc] initWithNibName:@"SearchViewController"
                                       bundle:nil];
[self presentViewController:search
                   animated:NO
                 completion:nil];

我的问题是,如果我SearchViewController从 开始HomeViewController,在显示HomeViewController后被解雇SearchViewController

我有很多UIViewControllers,我不知道当用户在它们之间导航时,它们是否都在内存中。

4

2 回答 2

2

如果您只想展示一个 Viewcontroller,您可以尝试,

 SearchViewController* search =
    [[SearchViewController alloc] initWithNibName:@"SearchViewController"
                                           bundle:nil];


    [self dismissViewControllerAnimated:NO completion:^{
        [self presentViewController:search
                           animated:NO
                         completion:nil];
    }];
于 2013-10-04T05:54:33.917 回答
1

当您呈现ViewController来自另一个的 a 时ViewController,它们永远不会从内存中释放出来。要从内存中释放它们,您需要显式地解除它们。

该方法presentViewController:animated:completion:将presentedViewController 属性设置为指定的视图控制器,调整该视图控制器的视图大小,然后将该视图添加到视图层次结构中。

所以你看到你得到了一堆 ViewController 并在另一个之上添加了一个 View。

于 2013-10-04T05:53:28.203 回答