计算两个元素序列之间的差异。
这些可以通过传递给 updateSection
扩展来进行动画。
示例
// Update self.items array of view models
let previous: [ViewModel] = self.items
self.items = model.currentViewModels()
let diff = previous.diff(self.items)
// Animate changes to view models array
self.tableView.beginUpdates()
self.tableView.updateSection(0, diff: diff)
self.tableView.endUpdates()
安装
ElementDiff 通过 CocoaPods 提供。安装它,只需将以下行添加到您的 Podfile 中
pod "ElementDiff"
发布
- 0.8.0 - 2019-06-10 - 支持在 podspec 中使用 Swift 5.1
- 0.7.0 - 2018-10-02 - 支持 Swift 4.2
- 0.6.0 - 2018-04-23 - 对于非唯一 IDs 抛出错误
- 0.5.0 - 2017-06-23 - 添加
fatalError
用于非唯一 IDs - 0.4.0 - 2016-12-06 - 支持 Swift 3
- 0.3.0 - 2016-09-03 - 删除
reloadRowsAtIndexPaths
- 0.2.1 - 2016-03-04 - 将 ElementDiff 结构体字段改为变量
- 0.2.0 - 2015-12-22 - 允许使用自定义标识符
- 0.1.0 - 2015-12-12 - 初次公开发布
- 0.0.0 - 2015-07-29 - Q42 项目(http://q42.com)的初始私有版本
许可 & 信用
ElementDiff 由 Tom Lokhorst 在 Q42 开发,并遵循 MIT 许可协议,因此您可以完全免费将其用于商业和非商业项目中。