iOS官方文档 Foundation篇---NSPointerArray

NSPointerArray

类似于数组的集合,但具有更广泛的可用内存语义;继承自NSObject;NSPointerArray具有以下特点:

  • 与NSMutableArray一样,使用下标有序的插入或移除元素,且可修改数组内容;
  • 可以插入或删除nil,并且 nil 参与 count 的计算;
  • count 可以 set,如果直接 set count,那么会使用 nil 占位;
  • 可以使用 weak 来修饰成员;
  • 成员可以是所有指针类型;
  • 遵循 NSFastEnumeration,可以通过 for...in 来进行遍历。
创建和初始化新的指针数组
// 根据指定选项返回新指针数组
NSPointerArray *pointerArray = [[NSPointerArray alloc]initWithOptions:NSPointerFunctionsStrongMemory];

NSPointerFunctions *functions = [[NSPointerFunctions alloc]initWithOptions:NSPointerFunctionsStrongMemory];
// 根据指定函数返回新指针数组
NSPointerArray *pointerArray1 = [[NSPointerArray alloc]initWithPointerFunctions:functions];

// 返回一个强引用元素的数组
NSPointerArray *pointerArray2 = [NSPointerArray strongObjectsPointerArray];

// 返回一个弱引用元素的数组
NSPointerArray *pointerArray3 = [NSPointerArray weakObjectsPointerArray];
管理集合
// 设置数组元素数量
pointerArray.count = 5;

// 数组中元素数量
NSUInteger count = [pointerArray count];//5

// 数组中所有对象
[pointerArray allObjects];

// 指定索引处的指针
void *point = [pointerArray pointerAtIndex:0];//nil

// 数组中添加指针对象
[pointerArray addPointer:@"2"];//(2)

// 移除指定索引处的元素
[pointerArray removePointerAtIndex:0];//(2)

// 指定索引出插入元素
[pointerArray insertPointer:@"1" atIndex:0];//(1,2)

// 替换指定索引处的对象
[pointerArray replacePointerAtIndex:0 withPointer:@"2"];//(2,2)

// 删除数组中的nil值
[pointerArray compact];

// 获取数组的功能项
NSPointerFunctions *Functions = [pointerArray pointerFunctions];

优秀文章

# TODO:

欢迎留言指正,会持续更新。。。

你可能感兴趣的:(iOS官方文档 Foundation篇---NSPointerArray)