2016-08-29 17 views
0

Ich speichere die Postleitzahl eines Benutzers in der Firebase-Datenbank und möchte diese Datenbank beim Start der App abfragen, um festzustellen, ob der Benutzer bereits seine Postleitzahl eingegeben hat oder ob es sich um einen neuen Benutzer handelt.Wie kann man Datenpunkte aus Firebase mit Obj-C ziehen?

Ich habe meinen Code vorher gepostet. Ich zog den Beispielcode aus der Firebase docs, aber es scheint, dass mein App noch nicht einmal, um den folgenden Code läuft den Wert

[[[_ref child:@"user"] child:userID] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {... 

zu bekommen, was ich heraus bin fehle?

Antwort

1

Firebase ist asynchron und Sie müssen die Zeit für Ereignisse zu vervollständigen, bevor Sie in der App weitermachen.

In diesem Fall sollten Sie [self checkForZipCode] innerhalb des Anmeldeblocks aufrufen, nachdem self.uid aufgefüllt wurde.

Andernfalls besteht das Risiko, dass die checkForZipCode-Funktion ausgeführt wird, bevor die self.uid aufgefüllt wird.

Lassen Sie Firebase den Fluss der App steuern - und versuchen Sie nicht, Firebase synchron zu verwenden, da Sie aufgrund von Internetverzögerungen usw. Probleme bekommen werden.

Verwandte Themen