HomePageViewController

HomePageViewController

我正在我的应用程序中实现单点登录(用户只需登录一次)。

但是用户可以根据需要退出。

我将用用例流程解释我的问题。

流:


loginViewController->用户按登录->我选择到appNavigationController(HomePageViewController是root viewController)
HomePageViewController->用户退出应用程序->我选择返回登录页面
用户登录回来。


现在我有一个问题。

我收到一个错误:

Warning: Attempt to present <app.loginViewController: 0x15d559f00> on <app.homeViewController: 0x15d625660> whose view is not in the window hierarchy!


而且我不知道这是否是问题,但是navigationController正在保存第一个homeViewController并且没有清空堆栈
我试图在homeViewController中弹出viewDidDisappear
它不起作用,堆栈仍保存第一个homeViewController

有什么建议么?

最佳答案

您的ViewController必须如下所示:


  UINavigationController-(rootViewController)-> loginViewController
  -(Segue)-> HomePageViewController


或者,您可以执行以下操作:

UITabViewController:


  viewController1:loginViewController
  
  viewController2:UINavigationController-(rootViewController)->
  HomePageViewController


否,一旦用户登录,您就可以导航到viewController2 Tab并显示HomePageViewController

用户注销后,您可以在popToRootViewController中输入viewController2 Tab并切换到viewController1 Tab来显示loginViewController

10-08 05:45