快速返回根视图控制器

Win*_*ngs 0 ios swift

有没有办法关闭所有视图控制器(其中一些控制器通过导航推送)并返回到根视图控制器。我看到了很多例子,但它们在我的应用程序中不起作用。我正在使用 swift 4

这是 appdelegate 中的代码

func setNavigationToRootViews(){

    storyBoard = UIStoryboard(name: "Main", bundle: nil)
    nav = storyBoard?.instantiateViewController(withIdentifier: "mainNavigation") as! UINavigationController?
    let accessToken: String? = KeychainWrapper.standard.string(forKey: "token")
    print(accessToken as Any)

   if accessToken != nil {

        let homeVc = storyBoard?.instantiateViewController(withIdentifier: "Home-VC") as! HomeViewController
        nav?.pushViewController(homeVc, animated: false)
    }else{

        let welcomVc = storyBoard?.instantiateViewController(withIdentifier: "login-VC") as! LoginViewController
        nav?.pushViewController(welcomVc, animated: false)
    }

    let leftMenuVC = storyBoard?.instantiateViewController(withIdentifier: "menu-VC") as! MenuViewController
    container = MFSideMenuContainerViewController.container(withCenter: nav, leftMenuViewController: leftMenuVC, rightMenuViewController: nil)
    container?.panMode = MFSideMenuPanModeNone
    window?.rootViewController = container
    window?.makeKeyAndVisible()

}
Run Code Online (Sandbox Code Playgroud)

这在我的最后一个视图控制器中

@IBAction func okayBtnTapped(_ sender: Any) {


        _ = self.navigationController?.popToRootViewController(animated: 
          true)
        dismiss(animated: true, completion: nil)

    }
Run Code Online (Sandbox Code Playgroud)

Ans*_*eja 5

试试这个:

self.navigationController?.popToRootViewController(animated: true)
Run Code Online (Sandbox Code Playgroud)