HeckelDiff:快速的Swift差异库 源码
赫克尔·迪夫 Paul Heckel的一种隔离文件之间差异的技术的纯Swift实现 特征 这是一个简单的差异算法,提供了将一个集合转换为另一个集合所需的最少步骤。 转换列为离散操作: 插入-应该将哪些项目插入数组,以及在什么索引处插入。 删除-应该从数组中删除哪些项目,以及从什么索引处删除。 移动-应该移动哪些项目,以及它们的起点和终点索引。 更新-应该使用新的上下文以及在什么索引下更新/替换哪些项目。 这些操作是使用描述的算法以线性时间计算的。 知道这组操作对于有效地更新UITableViews和UICollectionViews特别方便。 例子 考虑一个比较整数列表的简单示例: let o = [ 1 , 2 , 3 , 3 , 4 ] let n = [ 2 , 3 , 1 , 3 , 4 ] let result = diff (o, n) // [.move(1,
用户评论