ios Foundation框架中的可变和不可变对象NSArray 和NSMutableArray(二)

二   NSArray 和NSMutableArray

1 . 数组(NSArray,NSMutableArray)是⼀组有序的对象集合,通过索引下标获取到数组中的各个元素。

数组中不可以存放基本数据类型,只能存放对象。如若需要将基本数据类型放⼊数组中,需要通过NSNumber来包装成对象放入 

1.1 创建NSArray

(1)NSArray *array1=[NSArray array];
(2)NSArray *array1=[NSArray arrayWithObject:@"one"];
(3)NSArray *array2 = [[NSArray alloc] initWithObjects:@"one",@"two", nil];
(4)NSArray *array2_1=[NSArray arrayWithObjects:@"one",@"two", nil];
(5)NSArray *array2_2 = @[@"one",@"two"];  //平时多使用此方法创建
(6)NSArray *array3=[NSArray arrayWithArray:array2]; 


1.2 NSArray 的常⽤用⽅方法

(1)通过下标获取元素(注意!!只有下标小于元素个数时,才可以 使⽤下标获取元素,否则报错数组越界)
(2)获取数组的元素个数   array.count;
(3)判断是否包含某个对象  [array  containsObject :(ObjectType ) obj ];
(4)对象在数组中的索引位置     - ( NSUInteger )indexOfObject:(ObjectType)anObject;

(5)链接数组中的字符串(数组中的元素都是字符串才可以使用此方法)   - ( NSString *)componentsJoinedByString:( NSString *)separator;
(6)访问最后一个元素     lastObject(只读属性)
(7)访问第一个元素     firstObject(只读属性)
(8)在原来的数组上追加对象    - ( NSArray <ObjectType> *)arrayByAddingObject:(ObjectType)anObject;

其他常见方法见API


1.3 数组遍历 


for in变种循环(快速枚举),和普通循环不同的是,它无需循环条件,也无需循环迭代语句,这些部分都有系统自动完成,当每个元素都被迭代一次后,循环自动结束


2  可变数组(NSMutableArray)继承自数组(NSArray),所以它有NSArray中的所有方法,此外它还可以进行增、删、改 数组中的元素


2.1可变数组的创建:

+ (instancetype)array;

+ (instancetype)arrayWithObject:(ObjectType)anObject;

+ (instancetype)arrayWithObjects:(const ObjectType [])objects count:(NSUInteger)cnt;

+ (instancetype)arrayWithObjects:(ObjectType)firstObj, ...NS_REQUIRES_NIL_TERMINATION;

+ (instancetype)arrayWithArray:(NSArray<ObjectType> *)array;

......

2.2 增加元素

- (void)addObject:(ObjectType)anObject;//增加元素

- (void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index;//在指定位置插入元素

- (void)addObjectsFromArray:(NSArray<ObjectType> *)otherArray;///从数组中增加元素

2.3 删除元素

- (void)removeLastObject;//移除最后元素

- (void)removeAllObjects;//移除所有元素

- (void)removeObjectAtIndex:(NSUInteger)index;//移除指定索引位置的元素

- (void)removeObjectsInArray:(NSArray<ObjectType> *)otherArray;

2.4 更改元素

- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(ObjectType)anObject;//更改指定索引位置的元素为anObject

- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;//交换idx1位置与idx2位置的元素

......

NSMutableArray还有很多方法,大家可以参考API多多练习;


下一篇【NSDictionary和NSMutableDictionary】

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值