我已经为此苦苦挣扎了很长时间,所以我最终放弃了尝试寻找答案并决定立即问它。
在我的应用程序上,我有一个用户登录页面。该应用程序有一个 TabBarViewController,它的项目中有一些 NavigationControllers。
我最后的努力是将登录屏幕嵌入到 NavigationBarController 并使其成为初始视图控制器,如下图所示。
当应用程序启动时,如果用户登录 LogInViewController 'segues' 到 TabBarController 并且一切都很好。当用户在 ProfileViewController 中注销时,此 ViewController 中有一个 segue “segueing”到初始视图控制器。
另一方面,如果没有用户登录,LogInViewController 会显示一个视图,以便用户可以插入用户名和密码。如果凭据正确,则 LogInViewController 'segues' 到 TabBarController。问题是,在这一点上,即使应用程序仍然运行良好,我也会收到以下警告:
警告:在演示过程中尝试在 UINavigationController: 0xa526370 上呈现 TabBarViewController: 0xa19a670!
所以我认为这不是处理所有这些 LogIn/LogOut 过程的最佳方式。
我的问题是,我应该将 LogInScreen 放在层次结构中的哪个位置?如果我的布局/层次结构是正确的,如何让警告消失?