Objective-c学习笔记05——NSArray(NSMutableArray)

这篇博客详细介绍了Objective-C中的NSArray和NSMutableArray的使用,包括数组的创建、删除、修改、查询、排序、比较、遍历以及文件读写和内存管理。重点讲解了NSMutableArray的可变操作和内存管理的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Objective-C可以开发apple家族系列产品的软件,这里记录成笔记方便日后复习:

一、数组简介

NSArray:用来存储有序数组,它是不可变的,也不能存储C语言中的基本数据类型(int、float、double、enum、struct),也不能存nil,如果需要使用基本数据类型,需要先转成Objective-c中的对象。如NSNumber。另外,数组的最后一个元素一定是nil,表示结束。

二、创建数组

  
  
  
  1. //1、array
  2. NSArray * arr = [NSArray array]; //因为是类方法,所以无需管理内存
  3. //2、arrayWithArray:
  4. NSArray * arr1 = [NSArray arrayWithArray:arr];
  5. //3、arrayWithObject:
  6. NSArray * arr3 = [NSArray arrayWithObject:@"Apple"];
  7. //4、arrayWithObjects:
  8. NSArray * arr4 = [NSArray arrayWithObjects:@"Apple", @"Android", nil];
  9. //5、arrayWithObjects:count:
  10. NSString * str5[3] = {@"aaa", @"BBB", @"CCC"};
  11. NSArray * arr5 = [NSArray arrayWithObjects:str5 count:2]; //获取数量
  12. //6、init
  13. NSArray * arr6 = [[NSArray alloc] init];
  14. arr6 = @[@"LLL", @"IIII", @"BBBB"];
  15. [arr6 release]; //对象需要进行内存释放
  16. //7、initWithArray:
  17. NSArray * arr7 = [[NSArray alloc] initWithArray:arr6];
  18. [arr7 release];
  19. //8、initWithObjects:
  20. NSArray * arr8 = [[NSArray alloc] initWithObjects:arr6, arr5, nil];
  21. //9、initWithObjects:count:
  22. NSArray * arr9 = [[NSArray alloc] initWithObjects:str5 count:1];
  23. [arr9 release];
  24. //10、arrayWithCapacity 初始化可变数组对象的长度
  25. NSMutableArray *array10 = [NSMutableArray arrayWithCapacity:10];
  26. //11、initWithCapacity
  27. NSMutableArray * array101 = [[NSMutableArray alloc] initWithCapacity:10];

*自面量(@) < @[<#objects, ...#>] >

可以使用下面的方式创建数组,并且无需担心内存

  
  
  
  1. NSArray *arr2 = @[@"Apple", @"DELL", @"Lenovo"];

三、数组删除(NSMutableArray)

  
  
  
  1. //1.removeAllObjects 删除数组中所有的Objects
  2. NSMutableArray *list = [[NSMutableArray alloc] init];
  3. Person *car = [[
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值