【发布时间】:2017-01-01 14:54:33
【问题描述】:
我需要按日期 (unix) 排列我的 firebase 数据。我认为queryOrdered(byChild: "date") 会成功。完成了search 并找到了this,这是有道理的:
但是当您请求快照的 .value 时,键+数据将转换为字典。由于字典没有额外的位置来放置有关订单的信息,因此在转换为字典时该信息会丢失。
使用相同的 json 但修改了 unix 日期...:
{
"users" : {
"alovelace" : {
"name" : "Last Year",
"date" : 1480550400
},
"eclarke" : {
"name" : "New Year Now",
"date" : 1483228800
},
"ghopper" : {
"name" : "New Year",
"date" : 1483228800
}
}
}
...当我的代码是这样的时候如何排序:
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()
})
下图,“去年”应该是最后一个,但不是:
我有一个ruby mentality,所以我很快就迷路了。谢谢。
【问题讨论】:
标签: ios swift firebase firebase-realtime-database