Ich muss meine Firebase-Daten nach Datum (Unix) ordnen. Ich dachte queryOrdered(byChild: "date")
würde den Trick tun. Geschehen ein search und fand this was Sinn macht:Firebase-Daten mit Abfrage sortierenNach Datum sortiert
But when you request the .value of the snapshot, the keys+data are converted to a Dictionary. Since a dictionary does not have an extra place to put the information about the order, that information is lost when converting to a dictionary.
Unter Verwendung des gleichen json aber modifiziert mit Unix-Daten ...:
{
"users" : {
"alovelace" : {
"name" : "Last Year",
"date" : 1480550400
},
"eclarke" : {
"name" : "New Year Now",
"date" : 1483228800
},
"ghopper" : {
"name" : "New Year",
"date" : 1483228800
}
}
}
... wie zu sortieren, wenn mein Code wie folgt lautet:
DataService.ds.REF_INCOMES.queryOrdered(byChild: "date").observe(.value, with: { (snapshot) in
if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] {
print(snapshot)
for snap in snapshot {
if let incomeDict = snap.value as? [String: AnyObject] { // What needs to change here?
let key = snap.key
let income = Income(incomeId: key, incomeData: incomeDict)
self.incomes.append(income)
self.incomes.reverse()
}
}
}
self.tableView.reloadData()
})
Das Bild unten: „Letztes Jahr“ soll letztes Mal gewesen sein, aber es ist nicht:
Ich habe eine ruby mentality also bin ich mit swift verloren. Vielen Dank.
on line 'lassen Benutzer', bekam ich 'fataler Fehler: unerwartet gefunden null, während eine optionale value' – Sylar
Versuch' Druck Abwickeln (usersSnapshot) ' vor der Fehlerzeile und sehen, was enthält – Jad
Es gibt die Daten zurück. – Sylar