I Perioden hoffen Objekte wie folgt aussehen:
struct PeriodItem {
let key: String
let periodEnd: String
let periodName: String
let periodStart: String
let ref: FIRDatabaseReference?
init(periodEnd: String, periodName: String, periodStart: String, key: String = "") {
self.key = key
self.periodEnd = periodEnd
self.periodName = periodName
self.periodStart = periodStart
self.ref = nil
}
init(snapshot: FIRDataSnapshot) {
key = snapshot.key
let snapshotValue = snapshot.value as! [String: AnyObject]
periodEnd = snapshotValue["periodEnd"] as! String
periodName = snapshotValue["periodName"] as! String
periodStart = snapshotValue["periodStart"] as! String
ref = snapshot.ref
}
func toAnyObject() -> Any {
return [
"periodEnd": periodEnd,
"periodName": periodName,
"periodStart": periodStart,
"key": key
]
}
}
So
Wenn Sie Ihr Array von Periods
vollständig füllen, verwenden Sie einfach Sortierung:
// periods - array of objects from firebase database
let yourTableViewPeriodsArray = periods.sorted(by: { $0.key < $1.key }) // maybe ">" instead of "<"
Dann:
DispatchQueue.main.async {
self.tableView.reloadData()
}
Hoffe es hilft.
Nicht klar, wie Ihre Daten in Firebase DB sortiert sind - ist es durch * Schlüssel/UID * oder durch * Priorität *? –
Vielen Dank für die Antwort, ich habe das zweite Bild hinzugefügt, um klarer zu sein. –
@muhcomen überprüfe meine Antwort. Wenn Sie weitere Fragen haben - gerne geschehen –