У меня есть 3 контроллера вида: 1) LoginViewController. 2) MainViewController. 3) LogoutViewController.Root View Controller и разматывает segues?
Я использую NSUserDefaults для хранения имени пользователя при его входе в LoginViewController.
Тогда в AppDelegate Я использую этот метод:
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let UserData = NSUserDefaults.standardUserDefaults()
if (UserData.stringForKey("Username") != nil) {
let initialViewController = storyboard.instantiateViewControllerWithIdentifier("MainViewController") as! MainViewController
self.window?.rootViewController = initialViewController
} else {
let initialViewController = storyboard.instantiateViewControllerWithIdentifier("LoginViewController") as! LoginViewController
self.window?.rootViewController = initialViewController
}
Итак, когда есть Имя пользователя хранится в NSUserDefaults, приложение перейти к главной View Controller и пропустить первый при запуске приложения.
в LogoutViewController Я использовал unind segue для LoginViewController, что означает, что у меня есть кнопка выхода из системы, и я использовал unind segue для входа в LoginViewController. Это отлично работает, когда приложение запускается из LoginViewController, но не из MainViewController.
Однако, я хочу, чтобы перейти к LoginViewController, когда кнопка выхода из системы нажата, запускается ли она с LoginViewController или MainViewController и освобождает все остальные ViewControllers из памяти. Как это может быть?