3

我的理解是 UICollectionViewDataSourcePrefetching 是为 UICollectionViewDataSource 构建的,而 UICollectionViewDiffableDataSource 似乎没有任何关于预取的文档。

4

1 回答 1

0

您的实现是在被调用UICollectionViewDataSourcePrefetching的单独属性上设置的UICollectionViewprefetchDataSource

https://developer.apple.com/documentation/uikit/uicollectionview/1771768-prefetchdatasource

您需要将预取的数据缓存在某处,然后从您的cellProvider(或UICollectionView.CellRegistration) 访问它。在您的集合视图中,您将预取数据源分配给prefetchDataSource属性 - 这可能只是您的视图控制器,例如:

myCollectionView.prefetchDataSource = self

我已经使用了它,UICollectionViewDiffableDataSource并且在滚动集合视图时咨询预取数据源以获取要预取的索引路径,而实际数据由 diffable 数据源提供

于 2021-06-04T04:08:26.793 回答