Почему бы просто не установить начальный контроллер представления для экрана входа в систему, как это?

Я уже читал этот и этот вопрос. Но я не понял, почему кода ниже недостаточно. Это просто работает. Мне нужна инструкция else для установки rootViewController для LoginViewController? Разве он уже не установлен Раскадкой?

func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
    if Settings.loggedIn {
        let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
        let mainViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainViewController")
        self.window?.rootViewController = mainViewController
        self.window?.makeKeyAndVisible()
    }

    return true
}

В LoginController, должен ли я установить rootController из AppDelegate? Почему бы не выполнить функцию?

@IBAction func login(sender: AnyObject) {
    performSegueWithIdentifier("loginToMainSegue", sender: nil)    
}

Также почему бы не выполнить команду для выхода из системы?

@IBAction func logout(sender: AnyObject) {
    performSegueWithIdentifier("MainToLoginSegue", sender: nil)    
}