所以我有一个应用程序,当它启动时,它会在登录后转到LoginViewController,它会执行到NavigationController的模态转换,其中根是下一个MainViewController。如果我想实现注销功能,那么最好的方法是什么?我应该以编程方式执行模式转换回LoginViewController,还是有办法在启动vc时轻松重启应用程序?我希望如果我做一个模态转换回LoginViewController,MainViewController将不会仍在运行。
谢谢!
答案 0 :(得分:2)
你不应该使用模态转换“返回” - 这实际上不会返回,它会创建一个新的LoginViewController。如果要返回到LoginViewController的同一实例,则应关闭导航控制器。如果进行模态转换,您的控制器层次结构将如下所示:
LoginViewController - > NavigationController - > MainViewController - > LoginViewController
当您进行模态转换时,呈现的视图控制器会保持一个指向呈现视图控制器的强指针,因此所有这些控制器仍将处于“活动”状态,并且您的计时器将继续运行。
我会使用不同的结构。我会让导航控制器成为窗口的根视图控制器,并从MainViewController的viewDidAppear方法中显示(如果需要)LoginViewController。当你完成它,解雇它。如果您再次需要它注销,请再次以模态方式显示它。