【发布时间】:2017-05-24 16:17:27
【问题描述】:
基本上,我在 Firebase 上有一个应用。问题是,当 Firebase 对数据进行排序时,它会混淆数据,而不是按时间顺序。
我上网查了一下原因,发现是因为我用的是snapshot.value而不是snapshot.children。
但是,我不完全确定如何相应地更改代码,有人可以帮忙吗?
代码如下:
func retrieveChatLog() {
FIRDatabase.database().reference().child("chats").child(chatID).observe(.value, with: {(snapshot) in
let chats = snapshot.value as! [String : AnyObject]
self.messages.removeAll()
for (_, value) in chats {
if let sender = value["sender"], let message = value["message"], let senderID = value["senderUID"], let date = value["date"] {
let messageToShow = Message()
messageToShow.message = message as! String
messageToShow.sender = sender as! String
messageToShow.senderUID = senderID as! String
let formatter = DateFormatter()
formatter.dateFormat = "dd.MM.yyyy"
let curDate = formatter.date(from: date as! String)
messageToShow.date = curDate as! Date
if messageToShow.senderUID != "" {
self.messages.append(messageToShow)
}
}
}
self.tableView.reloadData()
})
FIRDatabase.database().reference().removeAllObservers()
}
【问题讨论】:
标签: ios firebase swift3 firebase-realtime-database