0

所以我有一个应用程序,当你登录时它会在启动时转到 LoginViewController,它会模态转换到 NavigationController,其中根是下一个 MainViewController。如果我想实现注销功能,最好的方法是什么?我应该以编程方式将模态转换回 LoginViewController 还是有一种方法可以轻松地在启动 vc 处重新启动应用程序?我希望,如果我将模式转换回 LoginViewController,MainViewController 将不会仍在运行。

谢谢!

4

1 回答 1

2

您不应该使用模态转换“返回”——这实际上并没有返回,它创建了一个新的 LoginViewController。如果您想返回到 LoginViewController 的同一个实例,您应该关闭导航控制器。如果您进行模态转换,您的控制器层次结构将如下所示:

LoginViewController --> NavigationController --> MainViewController --> LoginViewController

当您进行模态转换时,呈现的视图控制器会保留指向呈现视图控制器的强指针,因此所有这些控制器仍将“活动”,并且您的计时器将继续运行。

我会使用不同的结构。我会让导航控制器成为窗口的根视图控制器,并从 MainViewController 的 viewDidAppear 方法呈现(如果需要)LoginViewController。完成后,将其关闭。如果您需要再次注销,请再次以模态方式呈现。

于 2013-05-31T17:09:43.437 回答