Ios Rootview控制器未使用tabbar控制器Swift 4.2

Ios Rootview控制器未使用tabbar控制器Swift 4.2,ios,swift,uiviewcontroller,pushviewcontroller,rootviewcontroller,Ios,Swift,Uiviewcontroller,Pushviewcontroller,Rootviewcontroller,我有登录页面,我尝试推送每个ViewController,在成功验证后,我尝试使用代码设置根视图 UIApplication.shared.delegate?.window??.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Some") as! Some 上面的代码不起作用,对于注销,

我有登录页面,我尝试推送每个ViewController,在成功验证后,我尝试使用代码设置根视图

UIApplication.shared.delegate?.window??.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Some") as! Some
上面的代码不起作用,对于注销,im也设置了根视图控制器,但这些都不起作用。请帮帮我。提前谢谢

登录第一页(navigationController.pushVc)
-->
成功验证(设置根视图控制器)
-->
注销(设置根视图控制器)

我已经为tabbar控制器和导航控制器提供了标识符。尝试了很多方法,但找不到解决方案

也尝试了这个链接


上面的链接与我尝试的链接相同。但在我的项目中无法执行。

我正在复制我的方法,以便在登录和注销后切换rootViewController。我在AppDelegate中编写了此方法:

public func setRootVC(){
    
    if UserDefaults.standard.object(forKey: Strings.LOGGED_IN) != nil {
        let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
        let tabbarVC = storyboard.instantiateViewController(withIdentifier: ViewControllerIdentifiers.TabbarController)
        
        self.window?.rootViewController = tabbarVC
        self.window?.makeKeyAndVisible()
    }
    else{
        let storyboard = UIStoryboard(name: "Profile", bundle: Bundle.main)
        let loginNavController = storyboard.instantiateViewController(withIdentifier: ViewControllerIdentifiers.LoginNavController) as? UINavigationController
        
        self.window?.rootViewController = loginNavController
        self.window?.makeKeyAndVisible()
    }
}
从我的viewController调用此方法:

@IBAction func signoutBtnClicked(_ sender: Any) {
    
    if UserDefaults.standard.object(forKey: Strings.LOGGED_IN) != nil {
        UserDefaults.standard.removeObject(forKey: Strings.LOGGED_IN)
    }
    self.appDelegate.setRootVC()
}
要访问“self.appDelegate”,我已在viewController中添加了此扩展名

extension UIViewController {
var appDelegate: AppDelegate {
    return UIApplication.shared.delegate as! AppDelegate
}
}