二 NSArray 和NSMutableArray
1 . 数组(NSArray,NSMutableArray)是⼀组有序的对象集合,通过索引下标获取到数组中的各个元素。
数组中不可以存放基本数据类型,只能存放对象。如若需要将基本数据类型放⼊数组中,需要通过NSNumber来包装成对象放入
1.1 创建NSArray
(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)获取数组的元素个数 array.count;
(3)判断是否包含某个对象 [array containsObject :(ObjectType ) obj ];
(4)对象在数组中的索引位置 - ( NSUInteger )indexOfObject:(ObjectType)anObject;
(5)链接数组中的字符串(数组中的元素都是字符串才可以使用此方法) - ( NSString *)componentsJoinedByString:( NSString *)separator;
(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】