Чтобы пропустить вход в систему, если пользователь уже вошел в систему, я использую значения по умолчанию пользователя и в делегате приложения я вызываю контроллер домашнего просмотра, но проблема в том, что данныеошибка не появляется как ошибка nil Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value in swreal view controller
здесь мой код
if UserDefaults.standard.bool(forKey: "login") {
//YES Already Login
self.window = UIWindow(frame:UIScreen.main.bounds)
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController
let navigationController = UINavigationController.init(rootViewController: viewController)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
} else {
//NOT Login
self.window = UIWindow(frame:UIScreen.main.bounds)
let storyboard = UIStoryboard.init(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "signinpage") as! ViewController
let navigationController = UINavigationController.init(rootViewController: viewController)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
}
и после пропущенного входа в систему значение home nil появляется в этой 3-й строке.self.view ......
super.viewDidLoad()
menuButton.target = self.revealViewController()
menuButton.action = #selector(SWRevealViewController.revealToggle(_:))
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
@IBAction func logoutButton(_ sender: Any) {
let alert = UIAlertController(title: "Alert", message: "Are you Sure You want to Logout", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
GIDSignIn.sharedInstance().signOut()
let secondViewController = self.storyboard?.instantiateViewController(withIdentifier: "signinpage") as! ViewController
UserDefaults.standard.set(false, forKey: "login")
self.navigationController?.setViewControllers([secondViewController], animated: true)
}))
alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler:nil))
self.present(alert, animated: true, completion: nil)
}