2016-07-31 6 views
1

Ich habe eine bedingte segue eingerichtet, dass die Segue durchführen wird die folgende Art und Weise:Warum sollte dieser Swift-Code immer noch die Überfahrt durchführen?

override func viewDidAppear(animated: Bool) { 

     if PFUser.currentUser() != nil{ //if the user is logged in previously 


      self.performSegueWithIdentifier("AlreadySignedIn", sender: self) 

      print(PFUser.currentUser()?.username) 


     } 

Auch das Löschen aller Benutzer aus der Datenbank (Parse), die Segue ist nach wie vor durchgeführt. Ich glaube nicht, dass das Problem mit der Syntax dieses speziellen Codes zusammenhängt, aber hat irgendjemand irgendwelche Ideen, was das verursachen könnte?

+0

Was reagiert dann auf 'PFUser.currentUser()'? Auch, [warum verwenden Sie noch Parse] (http://blog.parse.com/announcements/moving-on/)? –

+1

Hi @MichaelDautermann parse.com offenbaren viel von ihrer Funktionalität als Open Source, die Parse-Server aufgerufen. Parse-Server kann für jeden Cloud-Provider bereitgestellt werden. Der große Vorteil ist, dass Sie immer dieselbe App verwenden und dasselbe SDK nutzen können. Sie können mehr hier lesen: https://github.com/ParsePlatform/parse-server –

Antwort

3

PFUser.currentUser() kennt nicht die Benutzer, die Sie in Ihrer Datenbank haben. , wenn Sie sich über parse ios SDK in Parse einloggen. Das Parse-IOS-SDK speichert die aktuelleUser-Instanz auf Ihrer Festplatte, und wenn Sie PFUser.currentUser() angeben, überprüft das IOS-SDK, ob der Benutzer zuvor angemeldet war (indem überprüft wird, ob es auf der Festplatte gespeichert ist). Wenn Sie möchten, dass PFUser.currentUser() NULL zurückgibt, müssen Sie die Funktion PFUser.logout() aufrufen. Diese Funktion löscht den aktuell angemeldeten Benutzer.

Verwandte Themen