¿Por qué no simplemente configurar el controlador de vista inicial para la pantalla de inicio de sesión como esta?

Ya he leidoesta yesta preguntas Pero no entendí por qué el siguiente código no es suficiente. Esto simplemente funciona. ¿Necesito una instrucción else para configurar rootViewController paraLoginViewController? ¿No está ya establecido por Storyboard?

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
}

En LoginController, ¿debo configurar rootController deAppDelegate? ¿Por qué no realizar Segue?

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

Además, ¿por qué no realizarSegue para cerrar sesión?

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

Respuestas a la pregunta(0)

Su respuesta a la pregunta