以编程方式分页 Firestore 集合视图 Swift

Pagination Firestor CollectionView Swift Programmatically

关于使用 Firestore 进行分页,我遵循了他们 website and on Youtube 上的指南,但我不明白一件事:

实际上,如果我们有一个 collectionView 显示来自 10 个文档的第一个查询的单元格。 当第一个查询的所有数据都可见时,我们滚动到 collectionView 的底部,我们从哪里调用控制器的下一个查询?

我在网上搜索但没有找到太多,我在想也许可以使用 CollectionView (?) 的 UIScrollViewDelegate 的一些委托方法,但它似乎没有提供正确的方法这样做。

另外,为了更好的用户体验,我认为最好在用户接近集合底部而不是已经到达底部时调用下一个查询。

 func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    if newInstrumentList.count-1 == indexPath.row && isMoreDataAvailable{
        self.presenter?.showMorePage()
    }
}

这是用于分页的,通常在 API 调用期间我得到项目的总数,并根据它设置一个 bool 属性。每当集合视图单元格索引与 indexPath.row 匹配时,就会请求下一个数据。