【发布时间】:2020-04-03 11:31:41
【问题描述】:
使用NSDiffableDataSourceSnapshot 重新加载表视图数据时,表视图将仅重新加载包含与之前快照不同的部分。
我有一个包含特定日期条目的表格视图。根据用户在分段控件中选择的内容,条目按条目周/月/自定义日期范围的部分排序。
当我有一个星期部分并且本周是本月唯一存在的一周时,当用户选择不同的日期范围并且标题将保持不变时,该部分将不会更新。
无论此快照与上一个快照之间是否存在差异,我如何才能重新加载所有节标题?
这里是设置快照的代码:
struct EntriesSection {
let date: Date
var entries: [Entry] = []
}
var sections: [EntriesSection]()
private func setupSnapshot() {
snapshot = NSDiffableDataSourceSnapshot<Date, Entry>()
sections.forEach {
snapshot.appendSections([$0.date])
snapshot.appendItems($0.entries, toSection: $0.date)
}
dataSource?.apply(snapshot, animatingDifferences: true)
}
结果:
提前致谢。
【问题讨论】:
标签: ios swift iphone uitableview nsdiffabledatasourcesnapshot