取消分配呈现/上一个视图控制器

时间:2013-02-08 08:50:36

标签: iphone ios memory uiviewcontroller

我的应用有一个登录页面,然后是一个主页面。我想在用户登录时解除分配登录页面,由于主页面很重,我显然希望在我退出并再次登录页面时取消分配。怎么做到这一点?我使用presentModalViewController但我发现使用此方法注销时内存消耗不会减少。导航控制器(使用pushViewController方法)会这样做吗?如何解除/取消分配/ nil呈现/以前的视图控制器?

3 个答案:

答案 0 :(得分:2)

尝试使用隐藏标签栏的标签栏控制器。只需制作一个标签 - 登录屏幕,另一个 - 应用程序主屏幕。当用户登录时,只显示应用程序屏幕,然后将初始标签栏控制器的视图控制器设置为仅一个vc - 主应用程序vc。并确保您已将所有适当的属性设置为nil,以允许ARC执行此任务并取消挂起登录屏幕。

答案 1 :(得分:0)

视图控制器使用堆栈的概念,因此您必须有一个根视图控制器来处理切换。有一个主视图控制器基本上是空白的,并根据需要添加其他两个视图控制器。

答案 2 :(得分:0)

您可以使用此代码实现:

MainViewController *mainController = [MainViewController new];
UIWindow *mainWindow = [[[UIApplication sharedApplication] windows] firstObject];
[mainWindow.rootViewController removeFromParentViewController];
[mainWindow setRootViewController:mainController];