swift - UICollectionViewDiffableDataSource 实时更新
问题描述
我想问什么是使用这个 UICollectionViewDiffableDataSource 的正确方法......我需要使用它来从 api 进行实时更新。我得到添加,删除,更改然后我必须使用这些数据中的项目制作部分,并按照一些规则对部分中的部分和项目进行排序......我想问我是否应该做一些逻辑来每次我更新快照从 api 获取更新,或者我可以创建新快照并将其应用于数据源。如果我应用新快照会怎样?是否有一些比较快照的机制?或者它重新加载整个collectionView?谢谢。
解决方案
您应该在每次 API 更新后创建一个新快照,并将其应用到 diffable 数据源。
diffable 数据源会比较快照中每个项目标识符的哈希值,看看数据是否发生了变化,并相应地更新集合视图。如果数据保持不变,它将具有相同的哈希值,因此不会对 collectionview 进行更新。
推荐阅读
- postgresql - postgresql中的oracle时间戳等效数据类型
- macos - localhost:3000 在遵循 Docker 网站上的教程时不起作用
- html - iFrame 在某些视口上闪烁
- python - 如何使用套接字连接到另一台计算机?
- c# - 如何使用linq c#优化嵌套循环并从另一个列表中过滤
- javascript - 我的 fabric.js sclaing 方法在对象旋转后不起作用
- unity3d - 如何在unity3d中在位置实例化预制件(2D游戏)
- python-3.x - 使用 pytest.mock 和补丁模拟 FastAPI 控制器中的服务对象
- excel - 如何与 4 个 Excel 应用程序并行运行 ForEach-Object?
- typescript - 如何将变量的类型缩小为联合的类型