不推荐在分离的视图控制器上显示视图控制器(注销和登录)

时间:2019-02-17 17:46:50

标签: ios swift login uiviewcontroller side-menu

我目前正在尝试注销并再次在我的iOS应用中登录的功能。用户可以通过单击具有以下逻辑的注销按钮来注销:

let loginController = LoginController()
self.present(loginController, animated: true)

然后,在LoginController的viewDidLoad()中,我实现以下代码来删除所有剩余的视图,以便在使用其他帐户登录时不会留下任何逻辑:

UIApplication.shared.keyWindow?.rootViewController?.dismiss(animated: false, completion: nil)

然后在登录按钮后面,我使用以下代码再次加载UITabBarController(登录时是根视图控制器):

let tabBarController = TabBarController()
self.present(tabBarController, animated: true, completion: nil)

一切正常。我可以注销,显示登录屏幕,并在输入新凭据后登录,并可以在新帐户中使用该应用程序。但是,我的调试器返回以下警告:

Presenting view controllers on detached view controllers is discouraged <HomeViewController: 0x7fc2e3a52400>.
Presenting view controllers on detached view controllers is discouraged <SideMenuController: 0x7fc2e286aa00>.

HomeViewControllerUITabBarController后面的根视图控制器,SideMenuControllerSideMenu module from jonkykong后面显示的UIViewController。作为记录-我不使用默认的单例,而是每当我再次登录时都初始化一个新的SideMenuManager并将其设置为新SideMenuManager中的UITabBarController

关于如何防止此警告的任何想法?该应用程序可以按我期望的那样完美运行,这并没有让我感到困扰,但是我担心它可能会被拒绝或在更高的iOS版本中出错。

0 个答案:

没有答案