iOS数组

NSArray:不可变数组
数组一旦创建完成后,数组成员不能够被修改,数组成员不能添加和删除



1.数组的创建
NSArray *array = @[成员列表];
只能用在不可变数组中(无需写nil)
对象方法
- (id)initWithObjects:(id)firstObj, ... ;
- (id)initWithArray:(NSArray *)array;
类方法
+ (id)arrayWithObjects:(id)firstObj, ... ;
+ (id)arrayWithArray:(NSArray *)array;


2.数组的操作
- (NSUInteger)count;
返回数组中元素个数


- (id)objectAtIndex:(NSUInteger)index;
通过索引获取相应的元素


- (NSUInteger)indexOfObject:(id)anObject;
通过对象地址获取在数组中的索引值


- (BOOL)containsObject:(id)anObject;
判断数组中是否包含某个元素


- (id)lastObject;
获取数组的最后一个元素


- (NSArray *)componentsSeparatedByString:(NSString *)separator;
数组成员用指定字符串进行分割


- (NSString *)componentsJoinedByString:(NSString *)separator;
把数组元素内容按照字符串separator进行拼接


- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
按照字符集合分割




3.数组成员的遍历
1.for(第一种数组成员的类型全部相同且已知)
for (int i=0; i<[array count]; i++) {
    NSLog(@"%@", [array objectAtIndex:i]);
    NSLog(@"%@", array[i]);
}
2.快速枚举法for-in(第二种数组成员的类型不相同,且类型不已知)
for (id temp in array) {
    NSLog(@"%@", temp);
}


NSMutableArray:可变数组,继承自NSArray
数组创建后,数组成员仍然可以修改,添加和删除



1.初始化可变数组
NSMutableArray *mutable = [[NSMutableArray alloc] initWithCapacity:0];
NSMutableArray *mutable1 = [NSMutableArray arrayWithCapacity:0];


2.增加元素
1:在数组末尾追加(插入)元素
- (void)addObject:(id)anObject;
2:在数组末尾追加(插入)一个数组
- (void)addObjectsFromArray:(NSArray *)otherArray;
3:指定索引位置处插入元素
- (void)insertObject:(id)anObject atIndex:


3.删除元素
1:删除最后一个元素
- (void)removeLastObject;
2:删除指定索引的元素
- (void)removeObjectAtIndex:(NSUInteger)index;
3:删除指定元素
- (void)removeObject:(id)anObject;
4:删除指定范围内的元素
- (void)removeObjectsInRange:(NSRange)range;
5:删除所有元素
- (void)removeAllObjects;


4.修改元素
1:替换指定索引的元素
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject;
2:交换数组元素
- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2;
3:修改数组
 - (void)setArray:(NSArray *)otherArray;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值