我正在尝试为消息传递应用程序获取以前/较旧的消息。第一次提取是针对一批最新消息。但是当用户向上滚动时,我想获取以前的消息并对其进行排序。
func getOlderMessages () {
if self.lastSnapshot == nil {return}
let next = Firestore.firestore().collection("chats/\(self.chat.id!)/messages")
.order(by: "timestamp", descending: false)
.limit(to: 10)
.start(afterDocument: self.lastSnapshot)
next.getDocuments(completion: { (snapShot, error) in
for doc in snapShot!.documents {
let message = Message(doc.data())
self.chat.messages.insert(message, at: 0)
}
self.tableView.reloadData()
self.refreshControl.endRefreshing()
guard let last = snapShot?.documents.last else { return }
self.lastSnapshot = last
})
}
更新:将下降设置为 TRUE 似乎可以解决问题......