我使用「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