2017-01-25 2 views
0

In meiner App möchte ich verschiedene ViewControllers anzeigen, je nachdem, ob der Benutzer bereits angemeldet ist oder nicht. Wenn der Benutzer in der aktuellen VC_A angemeldet ist, wenn nicht, dann präsentieren Sie VC_B. Ich habe versucht, den folgenden Code in meinem vc_login:Zeige View Controller basierend auf den Benutzer Firebase Login-Status

if let user = FIRAuth.auth()?.currentUser { 

     let vc = self.storyboard?.instantiateViewController(withIdentifier: "vc_home") as! ViewController_Home 
     self.present(vc, animated: true, completion: nil) 

    } else { 

    // Do Nothing 

    } 
+0

Ihr ursprünglicher Code mit dem ausgefüllten else-Block war für diese Frage informativer als '// tue nichts' – muescha

+0

Wie gehst du mit dem Ablaufdatum des Firebase-Tokens um? – Jay

+0

Ich mache fast das Gleiche und es funktioniert für mich. Wenn FIRAuth.auth() ?. currentUser! = Nil { self.performSegue (withIdentifier: "signInToTabbarVC", Absender: nil) } –

Antwort

1

Sie können es so (Hinweise in den Code Kommentare sind):

if FIRAuth.auth()?.currentUser?.uid == nil { 
    // user is not logged in 
    // present VC_B 
} else { 
    // user is logged in 
    // present VC_A 
} 

Oder Sie den ternären bedingten Operator wie folgt verwendet werden:

Verwandte Themen