小编Sam*_*Sam的帖子

Diffable 快照重新加载节标题

当使用 重新加载表视图数据时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)
}
Run Code Online (Sandbox Code Playgroud)

结果:

提前致谢。

iphone uitableview ios swift nsdiffabledatasourcesnapshot

5
推荐指数
1
解决办法
2543
查看次数