4

我的应用程序有一个登录页面,然后是一个主页。我想在用户登录时释放登录页面,并且由于主页很重,我显然希望在我注销并再次进入登录页面时释放它。如何做到这一点?我使用presentModalViewController但我发现使用这种方法注销时内存消耗不会减少。导航控制器(带有pushViewController方法)会这样做吗?如何解除/解除分配/无呈现/上一个视图控制器?

4

3 回答 3

2

尝试带有隐藏标签栏的标签栏控制器。只需制作一个标签 - 登录屏幕,另一个 - 应用程序主屏幕。当用户登录时,只需显示应用程序屏幕,然后将初始选项卡栏控制器的视图控制器设置为只有一个 vc - 主应用程序 vc。并确保您已将所有适当的属性设置为 nil 以允许 ARC 完成它的工作并释放登录屏幕。

于 2013-02-08T16:10:15.640 回答
1

您可以使用以下代码实现:

MainViewController *mainController = [MainViewController new];
UIWindow *mainWindow = [[[UIApplication sharedApplication] windows] firstObject];
[mainWindow.rootViewController removeFromParentViewController];
[mainWindow setRootViewController:mainController];
于 2014-06-09T13:56:09.457 回答
0

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

于 2013-02-08T17:58:15.820 回答