0
聲明:我對編碼和Firebase非常陌生。Swift Firebase訂購查詢
我的JSON樹是這個樣子:
「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「
}
}
我想查詢數據庫,並提出了一種新的tableview從而使團隊由最高的「球隊得分」排名。
所以試圖表明,順序如下:
" Team Bravo" : "200"
" Team Charlie" : "150"
" Team Alpha" : "50"
我有點失落。我試過了,無濟於事(下面的表格沒有任何回報):
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()
})
我怎麼能達到那個排名呢?或者,嘗試在本地數組中加載所有內容然後嘗試從那裏對它們進行排名會更好?任何幫助,非常感謝!
更新:所以上面確實排名他們正確,但我的表只檢索團隊名稱,我不能提取「總分」放到我的tableview單元格第二個標籤(它有2個標籤,1個團隊名稱,總分數爲1)。
所以現在看起來是這樣的:
" Team Bravo"
" Team Charlie"
" Team Alpha"
我怎麼能把旁邊的每一個分別對應總得分?非常感謝
確保你指數數據庫「球隊得分」如果你打算使用這段代碼。 Firebase文檔中有一個與您的代碼非常相似的示例:https://firebase.google.com/docs/database/security/indexing-data – DoesData