2016-07-15 10 views
0

In meiner Viewcontroller-Datei, ich hatte zunächst den folgenden Code:Kann Snapshot nicht im Datenmodell gespeichert werden?

self.rootRef.child("users/").child("stringKey").observeEventType(.Value, withBlock: { snapshot in 
     self.userA.name  = snapshot.value!.objectForKey("name") as? String 
     self.userA.urlOne = snapshot.value!.objectForKey("urlOne") as? String 
     self.userA.urlTwo = snapshot.value!.objectForKey("urlTwo") as? String 
    }) 

    print(self.userA.name) 
    print(self.userA.urlOne) 
    print(self.userA.urlTwo) 

aber aus unbekannten Gründen zu mir, der Ausgang ist leer. Wenn ich die print-Anweisungen in das Observer-Ereignis setze, bekomme ich die gewünschte Ausgabe. Warum darf ich den Snapshot nicht in einem Datenmodell speichern?

Antwort

0

[observeEventType] wird im Hintergrund verarbeitet und Ihre Druckbefehle befinden sich im Hauptthread. Sie müssen das Speichern im Hintergrund Thread oder verwenden Sie eine Methode mit einem Abschluss-Handler