2017-04-09 5 views
0

Ich habe diesen Code, um Daten von Firebase Datenbank erhalten:Wie kann man Daten aus der Firebase mit Swift abrufen?

FIRDatabase.database().reference().child("Root").child("User1").child("chat1") 
.observeSingleEvent(of: .value , with: { snapshot in 

    if snapshot.exists() { 

     let recent = snapshot.value as! NSDictionary 

     print(recent) 
}) 

Es gibt ein Problem mit dem Ergebnis der Snapshot ist, druckt die print(recent) manchmal alle Werte des Kindes (10 Werte), die das, was ich will, ist, aber irgendwann druckt es nur zwei Werte dieses Kindes, ich weiß nicht warum.

Wie behebt man das?

Dies ist meine Datenbankstruktur:

enter image description here

+0

Ihr Code sieht solide aus! Ihr Fehler könnte woanders sein, mein Freund ... –

+0

Nachdem Sie das gesagt haben, versuchen Sie, 'recent.count' zu drucken, um besonders sicher zu sein, dass Ihre Analyse korrekt ist. –

+0

@pauloMattos dieses Mal nur einen Wert und der Ausdruck von count ist '1' :( – Zizoo

Antwort

2

Da ich nicht kommentieren kann und ich möchte nur etwas fragen, werde ich diese Antwort entfernen später, aber Ihre Daten synchron? Hast du die Methode yourreference.keepSynced (true) aufgerufen?

+0

Nein, warum? Können Sie erklären – Zizoo

+1

Scrollen Sie zu "Daten frisch halten" https://firebase.google.com/docs/database/ios/offline -capabilities –

+0

Vielen Dank, jetzt funktioniert alles wie erwartet – Zizoo

Verwandte Themen