2016-03-26 4 views
0

Ich versuche, den Start/Login-Bildschirm insgesamt zu vermeiden und direkt auf die erste Seite der App gehen, wenn der Benutzer angemeldet ist. Nichts passiert, wenn ich den Code unten ausführen. Ich habe gebrochen, und es sagte, dass der aktuelle Benutzer ist Null, aber wenn die Ansicht geladen wird, ist der aktuelle Benutzer nicht Null.Wie ändere ich den ursprünglichen View-Controller mit einem PFUser?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    self.storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
    var currentUser = PFUser.currentUser() 
    print("user \(currentUser)") 
    if currentUser != nil { 
     if(currentUser?.username?.rangeOfString("@music.co") != nil){ 
      self.storyboard?.instantiateViewControllerWithIdentifier("venuehomescreen") 
     }else{ 
      self.window?.rootViewController = self.storyboard?.instantiateViewControllerWithIdentifier("userhomescreen") 
     } 
    } 
} 

Antwort

0

ich in der Regel als normal gehe in meiner Anwendung in das Protokoll in View-Controller, als in viewDidAppear dieses Protokolls in View-Controller, füge ich Logik ähnlich den folgenden:

if PFUser.currentUser() != nil{ 
    //perform segue 
    //or present view controller modally 
} 

Es ist wichtig, Haben Sie Ihren Login-Controller in der Heiarchie für Fälle wie Abmelden, die Sie nur auf den Log In View-Controller abwickeln können.

Außerdem ist es erforderlich, in viewDidAppear einen Übergang durchzuführen, da Sie View Controller-Übergänge erst durchführen müssen, nachdem der View-Controller, von dem Sie wechseln, zum Host hinzugefügt wurde.

+0

Dies ist, was ich gerade mache, aber ich möchte nicht, dass der Benutzer immer auf die Login-Schaltfläche klickt, um den Übergang durchzuführen. Stattdessen geht es direkt nach dem Ladebildschirm automatisch auf den Startbildschirm. – user6032625

+0

aber wenn es in ViewDidAppear in Ihrem ersten View-Controller zu Ihrer Anwendung (Login-Ansicht-Controller) ist, benötigt es nichts von Ihrem Benutzer. Die App wird fortfahren, um den Benutzer zu loggen, wenn man zwischengespeichert wird –

+0

Ja, das ist was passiert, aber ich bekomme einen Blick auf die Login-Seite, bevor es auf den Startbildschirm geht, gibt es sowieso, um dies zu vermeiden? – user6032625

Verwandte Themen