我想知道在应用程序编程中,我需要在哪里更改根视图控制器。以下是我的代码
class NavigationViewController: UINavigationController {
var window: UIWindow?
override func viewDidLoad() {
super.viewDidLoad()
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let newRootView = storyBoard.instantiateViewController(withIdentifier: "WelcomeViewController") as! WelcomeViewController
let userStatus = UserDefaults.standard.bool(forKey: "isLoggedIn")
if userStatus {
self.window?.rootViewController = newRootView
}
}
}
当用户登录时,我将isLoggedIn键的值设置为true,当用户注销时,将其设置为false,以便在此导航控制器子类中检索该值,根据该值选择根视图控制器。但它不能正常工作,每当我启动应用程序时,我仍然只能获取登录页面,尽管我已经登录了,也请不要建议我在didfinishlaunchingwithoptions方法中更改根视图控制器。有人能帮我解决这个问题吗?谢谢。