我似乎無法獲得從新用戶發送的新消息或從已經在tableview中的用戶發送的新消息去與大多數消息應用。我已經問這個問題之前,並試圖遵循一個鏈接,有人好心地給我(How do you properly order data from Firebase chronologically)的指示,但我仍然不能得到預期的效果,不管不管我嘗試如何使你的tableView顯示新的或更新的元素在你的tableView頂端PT.2
func getChatsFeed(){
//following the links instruction "timeStamp" is suppose help return fireBase children in reverse order. "atValue: time" is a value for the time when my viewDidload.
let queryChats = Database.database().reference().queryOrdered(byChild: "timeStamp").queryEnding(atValue: time, childKey: "timeStamp")
queryChats.observe(.childAdded) { (snapshot) in
if let snapvalue = snapshot.value as? Dictionary<String,Any>, let
sender = snapvalue["sender"] as? String, let receiver =
snapvalue["receiver"] as? String, let message = snapvalue["messageBody"] as?
String, let key = snapvalue["key"] as? String, let timeStamp = snapvalue["timeStamp"] as? String{
let newMessage = FeedMessage(sender: sender, receiver: receiver, messageBody: message, key: key, timeStamp: timeStamp)
feedUpdate.append(newMessage)
self.chatsTableView.reloadData()
}
}
}
鏈接我收到了很多StackOverflow用戶問題的解決方案,因此我得到了相當多的讚譽,所以也許我弄糟了某些地方,並不完全瞭解所有不同的Firebase方法,這可能就是這種情況。任何指針任何人?
所以在你的表出現在所有新數據? –
沒有這種方法沒有。但其他的方法,我試過了,儘管他們填充我的tableView,他們不會像我想要的那樣將新的/更改過的數據源元素移動到tableView的頂部。 – KarmaDeli
當您打印出來時,它是否被分類? – Torewin