我嘗試使用創建日期對表格視圖內容進行排序。最新的應該在上面。我的代碼似乎沒問題,但它沒有顯示正確的順序。恰恰相反。
ref = Database.database().reference().child("placeID/\(placeIdFromSearch)")
ref.queryOrdered(byChild: "userTime").queryLimited(toLast: 10).observe(DataEventType.value, with: {(snapshot) in
if snapshot.childrenCount > 0 {
self.table.removeAll()
for video in snapshot.children.allObjects as! [DataSnapshot] {
let Object = video.value as? [String: AnyObject]
let userName = Object?["userName"]
let userGroup = Object?["userGroup"]
let userComment = Object?["userComment"]
let userTime = Object?["userTime"]
let userLikes = Object?["userLikes"]
let video = Videos(userName: userName as! String, userGroup: userGroup as! String, userComment: userComment as! String, userTime: userTime as! Int, userLikes: userLikes as! String)
self.table.append(video)
self.tableView.reloadData()
}
}
})

uj5u.com熱心網友回復:
Firebase 實時資料庫結果始終按升序排列。無法從資料庫中按降序獲取它們,因此您必須在應用程式代碼中反轉結果。
一個簡單的選擇是將每個專案插入表格頂部,而不是像現在這樣將其附加到底部:
self.table.insert(video, at: 0)
另一種方法是將反轉的值存盤在您的資料庫中,例如:userTime: -1654342137807. 這樣,資料庫使用的升序實際上就是您想要的。
另見:
- 如何按價值降序從firebase獲取資料?
- Swift - 如何在 Firebase 上將排序查詢創建為降序?
- Firebase 快速查詢排序順序?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486763.html
標籤:迅速 火力基地 firebase-实时数据库
