"viewWillAppear"를 사용하여 기본값에 데이터가있는 경우 UserDefaults.standard를 확인합니다. 대시 보드보기로 리디렉션하고 로그인을 전달하고 싶습니다.신속한 viewWillAppear 리디렉션
로그인 할 때 정상적으로 앱이 리디렉션되지만 데이터가있는 경우에는 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)
}
}
그리고이 오류가 발생합니다.
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