我正在我的应用程序中实现单点登录(用户只需登录一次)。
但是用户可以根据需要退出。
我将用用例流程解释我的问题。
流:
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