PHFArrayComparator 1.0.0

PHFArrayComparator 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Philipe Fatio维护。



  • Philipe Fatio

这个小类旨在与UITableView和其他类似视图一起使用。它的目的是简化显示数据的平滑更新。它通过通知您数据的哪些部分已删除、哪些已移动以及哪些是新添加的来做到这一点。然后这些操作可以直接转换为表格视图方法,以插入、移动和删除行或部分。

安装

首选方法是使用CococaPods

pod 'PHFArrayComparator', '~> 1.0.0'

如果您无法使用CocoaPods(尽管您应该使用,因为它是当红炸子鸡),则可以从项目获取PHFRefreshControl.{h,m}文件并将其放入您的项目中。代码使用了自动引用计数(ARC),因此请确保您已经在该项目使用了ARC,否则请将此文件设置为开启ARC。

使用

NSArray *a = @[ @"A", @"B", @"C" ];
NSArray *b = @[ @"X", @"C", @"B", @"D" ];
NSDictionary *instructions = [PHFArrayComparator compareOldArray:a withNewArray:b];

instructions包含三个键

  • PHFArrayComparatorDeletesKey:包含两个NSNumber的数组数组,指示从旧数组中删除的项目索引和计数,例如[2, 3]表示在第2个索引处删除了3个项。
  • PHFArrayComparatorMovesKey:包含两个NSNumber的数组数组,指示持久化项目的旧索引和新索引(即现有项目)在旧数组中的术语,该项目需要与其他持久化项目交换,以尊重新项目顺序。
  • PHFArrayComparatorInsertsKey:包含两个NSNumber的数组数组,指示在新数组中插入的项目索引和计数。

因此,instructions的内容如下(按JSON表示法)。

{
  "PHFArrayComparatorDeletesKey": [[0, 1]],
  "PHFArrayComparatorMovesKey":   [[2, 1], [1, 2]],
  "PHFArrayComparatorInsertsKey": [[0, 1], [3, 1]]
}

有关完整示例,请查看Examples/中的Xcode项目。

细读小字

许可证

PHFArrayComparator是根据MIT许可证发布的。

作者

Philipe Fatio (@fphilipe)