NSArray中常用API
1.创建数组
//遍历构造器创建
NSArray * ary = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];// nil结束标志
//初始化方法创建
NSArray * ary1 = [[NSArray alloc] initWithObjects:@"1", @"2", @"3", @"4", nil];
2.数组元素个数
NSUInteger count = [ary count]; //打印输出用%lu
NSString * str = [ary objectAtIndex:2];
3.根据下标取对应的数组元素(有参数, 有返回值)
NSString * str = [ary objectAtIndex:2];
NSString * str1 = [ary firstObject];//第一个元素
NSString * str2 = [ary lastObject];//最后一个元素
//objectAtIndex:0 与 firstObject对比的区别
//相同点
//都是获取一个数组中的首个元素
//不同点:当数组元素为空时,使用第一个方法, 程序会崩溃, 使用第二个方法会返回nil, 程序是可以继续运行. lastObject同理
//相同点
//都是获取一个数组中的首个元素
//不同点:当数组元素为空时,使用第一个方法, 程序会崩溃, 使用第二个方法会返回nil, 程序是可以继续运行. lastObject同理
4.判断元素是否存在
//判断ary1中是否存在3
BOOL isExist = [ary1 containsObject:@"3"];
if (isExist) {
NSLog(@"存在");
}else{
NSLog(@"不存在");
BOOL isExist = [ary1 containsObject:@"3"];
if (isExist) {
NSLog(@"存在");
}else{
NSLog(@"不存在");
5根据元素获得对应的下标
NSArray * ary0 = [NSArray arrayWithObjects:@"1", @"6", @"3", @"8", nil];NSUInteger index = [ary0 indexOfObject:@"6"];
NSLog(@"%lu", index);
---------iOS学习 OC中的 for in 快速遍历数组
NSArray * arr = [NSArray arrayWithObjects:@"1", @"6", @"3", @"8", @"12", @"a", @"e", @"0", nil];
//for循环遍历数组
for (int i = 0; i < [arr count]; i++) {
NSString * str = [arr objectAtIndex:i];
NSLog(@"%@", str);
}
//for in 快速遍历数组
for (NSString * str1 in arr) {
NSLog(@"str1 = %@", str1);
}
NSArray * ary1 = @[@20, @12];
for (NSNumber * num in ary1) {
NSLog(@"num = %@", num);
}
NSMutableArray
中常用API
//1.创建对象
NSMutableArray * mArray = [[NSMutableArray alloc] initWithCapacity:1];
NSMutableArray * mArray1 = [NSMutableArray arrayWithObjects:@"aa", @"bb", @"cc", @"dd", nil];
//2.求数组中元素个数
NSUInteger cou = [mArray1 count];
NSLog(@"%lu", cou);
//3.往数组中添加元素
//(1),添加一个元素
[mArray1 addObject:@"ff"];
NSLog(@"mArray1 = %@", mArray1);
//(2),在指定的下标处 插入一个元素
[mArray1 insertObject:@"AA" atIndex:1];
NSLog(@"++++mArray1 = %@", mArray1);
//4.替换元素
//把位置1的元素替换成99
[mArray1 replaceObjectAtIndex:1 withObject:@"99"];
NSLog(@"4444mArray1 = %@", mArray1);
//5.交换下标对应的元素
[mArray1 exchangeObjectAtIndex:0 withObjectAtIndex:1];
NSLog(@"5555mArray1 = %@", mArray1);
//6.移除元素
//(1)移除指定元素
[mArray1 removeObject:@"aa"];
NSLog(@"6(1)mArray1 = %@", mArray1);
//(2)移除指定下标对应的元素
[mArray1 removeObjectAtIndex:0];
NSLog(@"6(2)mArray1 = %@", mArray1);
//(3)移除所有元素
[mArray1 removeAllObjects];
NSLog(@"6(3)mArray1 = %@", mArray1);
NSMutableArray * mArray = [[NSMutableArray alloc] initWithCapacity:1];
NSMutableArray * mArray1 = [NSMutableArray arrayWithObjects:@"aa", @"bb", @"cc", @"dd", nil];
//2.求数组中元素个数
NSUInteger cou = [mArray1 count];
NSLog(@"%lu", cou);
//3.往数组中添加元素
//(1),添加一个元素
[mArray1 addObject:@"ff"];
NSLog(@"mArray1 = %@", mArray1);
//(2),在指定的下标处 插入一个元素
[mArray1 insertObject:@"AA" atIndex:1];
NSLog(@"++++mArray1 = %@", mArray1);
//4.替换元素
//把位置1的元素替换成99
[mArray1 replaceObjectAtIndex:1 withObject:@"99"];
NSLog(@"4444mArray1 = %@", mArray1);
//5.交换下标对应的元素
[mArray1 exchangeObjectAtIndex:0 withObjectAtIndex:1];
NSLog(@"5555mArray1 = %@", mArray1);
//6.移除元素
//(1)移除指定元素
[mArray1 removeObject:@"aa"];
NSLog(@"6(1)mArray1 = %@", mArray1);
//(2)移除指定下标对应的元素
[mArray1 removeObjectAtIndex:0];
NSLog(@"6(2)mArray1 = %@", mArray1);
//(3)移除所有元素
[mArray1 removeAllObjects];
NSLog(@"6(3)mArray1 = %@", mArray1);
//总结:可变数组和不可变数组的区别:增添了增删改功能, 而且都是对原有对象做修改
//数组的使用场景:当需要一个有序的集合来管理对象时, 就是用数组
//数组中, 可以存放相同的元素