【发布时间】:2013-10-11 22:55:28
【问题描述】:
我正在尝试将一个UIViewController 替换为另一个,但是我遇到了一个问题。
如果我写这个
[self dismissViewControllerAnimated:NO completion:nil];
//load currentProjectListViewController
currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil];
[self presentViewController:currentProjectListViewController animated:NO completion:nil];
这几乎可以工作,但是视图只是闪烁并且没有任何反应.. 没有加载新视图或任何东西,我在 currentProjectListViewController 中设置了一个断点并且线程永远不会在那里。
但是,如果我这样做。
//load currentProjectListViewController
currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil];
[self presentViewController:currentProjectListViewController animated:NO completion:nil];
currentProjectListViewController 加载非常好。但是我担心以前的观点会发生什么?它卡在内存中了吗?还是消失了?
我的问题是如何在不阻止下一个视图出现的情况下将其从内存和站点中删除。
任何帮助将不胜感激。
【问题讨论】:
-
描述你的视图控制器层次结构。
-
考虑静态视图。与对方没有任何联系。通常,如果我制作的东西超过 2 个视图,我会使用导航控制器。但是这个应用程序有 5 个,我的老板希望我将它们设为静态。所以在任何时候,如果应用程序从内存中关闭,我可以直接将它打开到它所在的同一视图,而不必担心其他视图会如何反应。
标签: ios objective-c uiviewcontroller