Haftungsausschluss: Ich bin sehr neu in Codierung und Firebase.Swift Firebase Bestellanfrage
Mein JSON Baum sieht wie folgt aus:
“MAIN LEAGUE“ : {
“Team Alpha“ : {
"Team Score" : “50”,
"Total Time " : "02:22:05",
"Team Name" : “Team Alpha“,
},
“Team Bravo“ : {
"Team Score" : “200”,
"Total Time" : "02:09:58",
"Team Name" : “Team Bravo“
},
“Team Charlie“ : {
“Team Score“ : “150”,
"Total Time" : "02:16:50",
"Team Name" : “Team Charlie“
}
}
Ich versuche, die Datenbank abzufragen und einen neuen Tableview präsentieren, wobei die Teams durch höchste „Team Score“ eingestuft werden.
So versuchen, in dieser Reihenfolge zu zeigen,:
" Team Bravo" : "200"
" Team Charlie" : "150"
" Team Alpha" : "50"
ich ein bisschen verloren bin. Ich habe versucht, ohne Erfolg (die unten nichts mehr im Tableview zurückgibt):
struct content {
var sTitle : String!
var sValue : Any!
init(sTitle: String, sValue: Any) {
self.sTitle = sTitle
self.sValue = sValue
}
}
var dbHandleQuery: FIRDatabaseHandle?
var dbrefString = (myDatabasePath)// this is the database path to the correct child
("MAIN LEAGUE")
dbHandleQuery=FIRDatabase.database().reference().child(dbrefString).queryOrdered(byChild: "Team Score").observe(.value, with: {(snapshot) in
var newContent : [content] = []
for snap in snapshot.children.allObjects as! [FIRDataSnapshot] {
let title = snap.key as String
let message = snap.value as? String
print(snap.key)
print(snap.value as Any)
newContent.append(content(sTitle: title, sValue: message as Any))
self.myTableView.reloadData()
}
self.cellContent = newContent
self.myTableView.reloadData()
})
Wie kann ich das Ranking erreichen? Oder wäre es besser zu versuchen, alles in lokalen Arrays zu laden und dann versuchen, sie von dort aus einzuordnen? Jede Hilfe, sehr geschätzt!
UPDATE: Also oben sortiert sie richtig, aber meine Tabelle ruft nur den TEAMNAME ab, und ich kann den "Total Score" nicht extrahieren, um ihn in meine Tabellenansichtszelle 2nd Label (es hat 2 Etiketten, 1 für Team Name) , 1 für die Gesamtpunktzahl).
So, jetzt sieht es wie folgt aus:
" Team Bravo"
" Team Charlie"
" Team Alpha"
Wie kann ich jeden entsprechenden Gesamt Punkte neben jedem anhängen? Vielen Dank
Stellen Sie sicher, dass Index der Datenbank auf „Team Score“, wenn Sie verwenden wollen dieser Code. In der Firebase-Dokumentation finden Sie ein Beispiel, das Ihrem Code hier sehr ähnlich ist: https://firebase.google.com/docs/database/security/indexing-data – DoesData