如何在使用新的组合布局& DiffableDataSource时启用数据预取?
在此之前,我们可以通过遵循自定义数据源对象来实现这一点,例如,
class CustomDataSource: NSObject, UICollectionViewDataSource, UICollectionViewDataSourcePrefetching
现在,数据源是只符合UICollectionViewDataSource的UICollectionViewDiffableDataSource。
一种方法是扩展它以符合预取协议。但是,由于它将DataSource的协议实现封装到其更高级别的方法(如snapshots和apply )中。我不知道如何扩展它以符合预取协议。
发布于 2021-06-04 12:04:45
您的UICollectionViewDataSourcePrefetching实现是在UICollectionView的一个名为prefetchDataSource的单独属性上设置的。因此,您不需要继承UICollectionViewDiffableDataSource的子类
https://developer.apple.com/documentation/uikit/uicollectionview/1771768-prefetchdatasource
我可以确认在使用UICollectionViewDiffableDataSource时预取工作正常。您需要在某个地方缓存预取的数据,然后从您的cellProvider (或UICollectionView.CellRegistration)访问它
例如,如果您的视图控制器实现了UICollectionViewDataSourcePrefetching,那么您可能有一行代码将其指定为prefetchDataSource
myCollectionView.prefetchDataSource = selfhttps://stackoverflow.com/questions/64855145
复制相似问题