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:

欢迎留言指正,会持续更新。。。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,033评论 2 9
  • 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的...
    卑微的戏子阅读 3,772评论 0 1
  • 凌晨的地铁站, 空空荡荡。 清晨的高铁站, 熙熙攘攘。 来往的行人们, 匆匆忙忙。 旅途的人们, 无论长途或是短行...
    上善若水_4bac阅读 2,555评论 0 3
  • 2007.6.15 昨晚睡得很早,6点半起床感觉神清气爽,在这里已习惯了早上起床冲个凉水澡,来这里后身上长...
    温言浅语阅读 3,211评论 0 5

友情链接更多精彩内容