Differific 0.8.4

Differific 0.8.4

Christoffer Winterkvist 维护。



Differific

CI Status Version Carthage Compatible codecov License Platform Swift

描述

Differific Icon

Differific 是一个使用 Paul Heckel 的 diffing 算法帮助你比较可哈希对象的 diffing 工具。创建更改集合以适应所有你的 diffing 需要。该库还包括一些便利扩展,以便在更新数据源时更加便捷。

该库基于并深受 Matias Cudich (@mcudich) 的 HeckelDiff 库的影响,旨在解决相同问题。版本 0.3.0 之前基于 DeepDiff。有关算法的工作原理和性能的更多信息,请查看 DeepDiff。目前,这两个框架非常相似;这将在框架发展时发生变化。

功能

  • 🍩内置扩展以更新表格和集合视图。
  • 🎩可定制的 diffing。
  • 🏎高性能。
  • 📱iOS 支持。
  • 💻macOS 支持。
  • 📺tvOS 支持。

用法

比较两个集合

let old = ["Foo", "Bar"]
let new = ["Foo", "Bar", "Baz"]
let manager = DiffManager()
let changes = manager.diff(old, new)

更新表格或集合视图

// uiElement is either your table view or collection view.
let old = dataSource.models
let new = newCollection
let changes = DiffManager().diff(old, new)
uiElement.reload(with: changes, before: { dataSource.models = new })

安装

Differific 通过 CocoaPods 可用。要安装,只需将以下行添加到您的 Podfile 中

pod 'Differific'

Differific 也可以通过 Carthage 使用。要安装,只需在 Cartfile 中写入

github "zenangst/Differific"

Differific 还可以手动安装。只需下载并将 文件夹拖放到您的项目中。

作者

贡献

我们希望您为 Differific 做出贡献,有关更多信息,请查看 CONTRIBUTING 文件。

许可协议

Differific 根据 MIT 许可协议可用。有关更多信息,请参阅 LICENSE 文件。