Iterate über Snapshot-Kinder in Firebase
Habe ich eine FB-Ressource enthält mehrere Objekte, und ich möchte, Durchlaufen Sie mithilfe von Swift.
Was ich erwartet habe, zu arbeiten ist die folgende (nach den FB-Dokumentation)
https://www.firebase.com/docs/ios-api/Classes/FDataSnapshot.html#//api/name/children
var ref = Firebase(url:MY_FIREBASE_URL)
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
println(snapshot.childrenCount) //I got the expected number of items
for rest in snapshot.children { //ERROR: "NSEnumerator" does not have a member named "Generator"
println(rest.value)
}
})
So scheint es, gibt es ein problem mit Swift iteriert NSEnumerator-Objekt zurückgegeben, die von der Feuerstellung.
Hilfe ist wirklich willkommen.
InformationsquelleAutor der Frage dfucci | 2014-12-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich lese, das Dokumentation richtig, das ist, was Sie wollen:
Einen besseren Weg könnte sein:
Die erste Methode erfordert die
NSEnumerator
gibt ein array aller Objekte, die dann aufgezählt werden, die in der üblichen Weise. Die zweite Methode ruft die Objekte nacheinander aus demNSEnumerator
und ist wahrscheinlich effizienter.In beiden Fällen werden die Objekte aufgelistet sind
FIRDataSnapshot
Objekte, so müssen Sie die Modelle, so dass Sie Zugriff auf dievalue
Eigenschaft.InformationsquelleAutor der Antwort vacawama
Habe ich nur Umgerechnet die obige Antwort zu Swift 3:
Einen besseren Weg könnte sein:
InformationsquelleAutor der Antwort Ketan P
Dies ist ziemlich lesbar und gut funktioniert:
InformationsquelleAutor der Antwort Dan
InformationsquelleAutor der Antwort Edward
FB 4.0.1
Wenn Sie mehrere Schlüssel/Werte, und wollen
return
einearray
mitdictionary
Elemente, die ein array deklarieren:dann ändern blockieren Körper:
InformationsquelleAutor der Antwort William Hu