我使用“viewWillAppear”来检查UserDefaults.standard,如果我有关于默认值的数据,我希望重定向到仪表板视图并传递出登录。Swift viewWillAppear redirect
当我登录正确的应用程序重定向正常,但不是在viewWillAppear有数据的情况下。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let defaults = UserDefaults.standard
if defaults.string(forKey: "username") != nil {
print("Exist")
print(defaults.string(forKey: "username")!)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "Dashboard")
self.present(vc, animated: true, completion: nil)
}
}
而我得到这个错误con调试。
2016-11-04 17:44:32.130024 RHiOS[1155:278240] Warning: Attempt to present <RHiOS.MenuViewController: 0x100f0d480> on <RHiOS.ViewController: 0x100e0b880> whose view is not in the window hierarchy!
如果有数据,我该如何重定向到短跑?谢谢。
但是,我如何才能使登录显示检查前,如果UserData存在不显示登录只显示仪表板,但如果UserData是空的显示登录,需要aViewController实例的父母? –
您无法使用演示文稿解决此问题。可以显示主屏幕然后在登录屏幕上生成动画,但如果您想避免这种情况,您可以在AppDelegate中设置window.rootViewController,然后再向用户显示任何内容 – Yariv