OC_NSArray

NSArray

NSArray是Foundation框架中一个用来存储和操作数组的类。NSArray及其子类NSMutableArray被称为数组的对象的有序集合。NSArray创建静态数组,NSMutableArray创建动态数组。当需要有序的对象集合时,可以使用数组。

创建方式

NSArray *array1 = [NSArray new];
NSArray *array2 = [[NSArray alloc]init];
NSArray *array3 = [NSArray array];
// 创建并赋值
NSArray *array4 = [[NSArray alloc]initWithObjects:@"a",@"b",@"c", nil];
NSArray *array5 = @[@"a",@"b",@"c"];
复制代码

NSArray常用方法

获取数组Count

@property (readonly) NSUInteger count;

  • 只读,获取数组内元素总数。

  • 用法:

      array.count;                            //获取数组 array 内项目个数
    复制代码
位置索引

@property (nullable, nonatomic, readonly) ObjectType firstObject;

@property (nullable, nonatomic, readonly) ObjectType lastObject;

  • 获取数组的第一个\最后一个元素。

  • 用法:

      [array firstObject];                    //获取第一个元素
      [array lastObject];                     //获取最后一个元素
    复制代码

- (ObjectType)objectAtIndex:(NSUInteger)index;

  • 获取数组中在指定下标位置的元素。

  • 用法:

      [array objectAtIndex:2];                //获取数组 array 中下标为 2 的元素
    复制代码
内容索引

- (NSUInteger)indexOfObject:(ObjectType)anObject;

  • 获取指定元素在数组内的下标。

  • 用法:

      [array indexOfObject:@"b"];                //获取字符串 "b" 在数组内的下标
    复制代码
包含判断

- (BOOL)containsObject:(ObjectType)anObject;

  • 判断数组内是否包含指定元素。

  • 用法:

      [array containsObject:@"b"];                //判断数组 array 中是否包含字符串 "b"
    复制代码
数组转字符串

- (NSString *)componentsJoinedByString:(NSString *)separator;

  • 把数组内元素组成字符串并用指定字符串分割。

  • 用法:

      NSString *str = [mutableArray componentsJoinedByString:@","];
      //把数组内的元素组合成字符串并以 "," 分割
    复制代码

数组的快速枚举

由于直接使用NSLog(@"%@",array);打印数组,数组内的中文是无法正常显示的,一般在这种情况下会使用for-in循环来打印数组中的内容。

for (NSString *str in array)
    NSLog(@"%@",str);
复制代码

NSMutableArray

NSMutableArray是动态数组,简单来说NSMutableArrayNSArray的区别是,NSMutableArray创建的数组对象能够进行增删改的操作,而NSArray只能进行查的操作。

创建方式

NSMutableArray *mutableArray1 = [NSMutableArray new];
NSMutableArray *mutableArray2 = [[NSMutableArray alloc]init];
NSMutableArray *mutableArray3 = [NSMutableArray array];
// 创建并赋值
NSMutableArray *mutableArray4 = [[NSMutableArray alloc]initWithObjects:@"a",@"b",@"c", nil];
// 根据不可变数组创建可变数组
NSMutableArray *mutableArray5 = [NSMutableArray arrayWithArray:array];
复制代码

常用方法

增加元素

- (void)addObject:(ObjectType)anObject;

  • 在数组末尾增加一个元素。

  • 用法:

      [mutableArray addObject:@"d"];              //在数组末尾增加一个元素 "d"
    复制代码

- (void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index;

  • 在数组的指定下标位置插入一个元素。

  • 用法:

      [mutableArray insertObject:@"d" atIndex:2]; //在下标为 2 的位置插入元素"d"
    复制代码
删除元素

- (void)removeLastObject;

  • 删除数组末尾的元素。

  • 用法:

      [mutableArray removeLastObject];            //删除数组最后一个元素
    复制代码

- (void)removeAllObjects;

  • 删除数组内所有元素。

  • 用法:

      [mutableArray removeAllObjects];            //删除数组内所有元素
    复制代码

- (void)removeObjectAtIndex:(NSUInteger)index;

  • 删除数组中指定下标的一个元素。

  • 用法:

      [mutableArray removeObjectAtIndex:2];       //删除数组中下标为 2 的元素
    复制代码

- (void)removeObject:(ObjectType)anObject;

  • 删除数组内的指定元素。

  • 用法:

      [mutableArray removeObject:@"b"];           //删除数组内值为 "b" 的元素
    复制代码
修改元素

- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(ObjectType)anObject;

  • 修改指定下标元素的值。

  • 用法:

      [mutableArray replaceObjectAtIndex:1 withObject:@"d"];      //就数组中下标为 1 的元素的值改为"d"
    复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值