【发布时间】:2017-05-06 08:42:45
【问题描述】:
免责声明:我对编码和 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“
}
}
我正在尝试查询数据库并提供一个新的表格视图,其中团队按最高“团队分数”排名。
因此尝试按以下顺序显示:
" 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"
如何将每个对应的总分附加到每个分数旁边?非常感谢
【问题讨论】:
标签: ios swift firebase firebase-realtime-database