ArrayUtils 1.3

ArrayUtils 1.3

测试已测试
语言语言 Obj-CObjective C
许可 zlib
发布最后发布2014年12月

Nick Lockwood 维护。



  • 作者
  • Nick Lockwood

用途

ArrayUtils 是一系列扩展方法,扩展了 NSArray,并添加了一些缺少的方法,使得某些数组操作更加简单和简洁。

支持的 OS 和 SDK 版本

  • 支持的构建目标 - iOS 7.0 / Mac OS 10.9 (Xcode 5.0, Apple LLVM 编译器 5.0)
  • 最早支持的部署目标 - iOS 6.0 / Mac OS 10.7
  • 最早兼容的部署目标 - iOS 4.3 / Mac OS 10.6

注意:'支持' 意味着该库与该版本已过测试。'兼容' 意味着该库应该在该 iOS 版本上运行(即它不依赖于任何不可用的 SDK 功能),但不再进行兼容性测试,可能需要调整或修复错误才能正确运行。

ARC 兼容性

ArrayUtils 与 ARC 和非 ARC 项目都兼容。无需从 ARC 验证过程中排除 ArrayUtils 文件或使用 ARC 转换工具转换 ArrayUtils。

线程安全

通常,NSArray 是线程安全的,而 NSMutableArray 则不是。ArrayUtils 不会改变这一点。您可以从多个线程安全地调用 NSArray 实例上的 ArrayUtils 方法,但在.MutableArray 上调用可能会导致不可预测的结果。

安装

要使用 ArrayUtils 分类在应用程序中,只需将 ArrayUtils.h 和 ArrayUtils.m 文件(不需要示例文件和资源)拖放到项目中,并将头文件导入到您希望使用 ArrayUtils 功能的任何类中,或者将其包含在您的前缀文件.pch中以在项目中全局可用。

NSArray 扩展方法

ArrayUtils 通过以下方法扩展 NSArray:

- (id)firstObject;

返回数组中的第一个对象,如果数组为空,则返回 nil。

- (NSArray *)arrayByRemovingObject:(id)object;

返回一个不含指定对象的数组副本。

- (NSArray *)arrayByRemovingObjectAtIndex:(NSUInteger)index;

返回一个不含指定索引位置的对象的数组副本。

- (NSArray *)arrayByRemovingLastObject;

返回一个不含最后一个对象的数组副本。如果数组为空,则不做任何操作。

- (NSArray *)arrayByRemovingFirstObject;

返回一个不含第一个对象的数组副本。如果数组为空,则不做任何操作。

- (NSArray *)arrayByInsertingObject:(id)object atIndex:(NSUInteger)index;

返回一个在指定索引位置插入指定对象的数组副本。

- (NSArray *)arrayByReplacingObjectAtIndex:(NSUInteger)index withObject:(id)object;

返回一个数组副本,其中指定索引处的对象被指定的对象替换。

- (NSArray *)shuffledArray

返回一个数组副本,使用arc4random随机洗牌对象。

- (NSArray *)mappedArrayUsingBlock:(id (^)(id object))block

返回一个新数组,通过对当前数组中的每个元素执行指定的块来形成,并返回结果。如果块对任何元素返回nil,则将省略从结果数组分发。如果块参数为nil,则返回原始数组的相同副本。

- (NSArray *)reversedArray;

返回一个数组副本,对象顺序被反转。

- (NSArray *)arrayByMergingObjectsFromArray:(NSArray *)array;

返回一个包含两个数组中所有未在另一个数组中找到的对象的数组(即两个数组的并集)。如果在合并过程中原始数组或提供数组已经包含重复项,这些重复项将不会在合并过程中删除。您可以使用 uniqueObjects 方法确保数组不包含重复项。

- (NSArray *)objectsInCommonWithArray:(NSArray *)array;

返回一个数组副本,其中包含自身与提供数组之间的公共元素(即两个数组的交集)。

- (NSArray *)uniqueObjects;

返回一个数组,其中只包含数组中每个唯一对象的第一次出现。顺序不受影响。

NSMutableArray 扩展方法

ArrayUtils 通过以下方法扩展NSMutableArray

- (void)removeFirstObject;

删除数组中的第一个对象。如果数组为空,则不执行任何操作。

- (void)shuffle;

使用arc4random随机洗牌数组。

- (void)reverse;

反转数组元素的顺序。

- (void)mergeObjectsFromArray:(NSArray *)array;

将提供数组中的任何对象追加到数组中,这些对象尚未在任何对象中存在。如果在原始数组或提供的数组中已经包含重复项,则将不会在合并过程中删除。您可以使用 removeDuplicateObjects 方法确保数组不包含重复项。

- (void)removeDuplicateObjects;

删除数组中每个唯一对象的除第一次出现之外的所有实例。顺序不受影响。