问题描述
我有UITableViewController
同时支持分页和拉动刷新。
我试图了解正确的处理方式
- 替换所有数据-拉动刷新
- 附加新项目-分页
我有如下更新方法。
首次从拉动更新数据以刷新或加载数据时,refresh
标志为true
,在分页更新中为false
。
func update(with list: UserList,animate: Bool = true,refresh: Bool) {
var snapshot: NSDiffableDataSourceSnapshot<Section,UserList>
if refresh {
snapshot = NSDiffableDataSourceSnapshot<Section,UserList>()
snapshot.appendSections(Section.allCases)
} else {
snapshot = dataSource.snapshot()
}
snapshot.appendItems(list.active,toSection: .active)
dataSource.apply(snapshot,animatingDifferences: animate)
}
我不确定这是否正确。
我正在刷新,添加节,添加项目并应用时创建一个新的空快照。
在分页时,我正在抓取现有的dataSource快照并将我的项目添加到末尾。
这是对dataSource.snapshot()
的正确使用吗?还是每次都简单地附加到一个空快照上就可以了吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)