首页 > 代码库 > 【黑马程序员】————Foundation框架02常用类—集合类
【黑马程序员】————Foundation框架02常用类—集合类
NSArray
->NSMutableArray
NSSet
->NSMutableSet
NSDictionary
->NSMutableDictionary
1、NSArray/NSMutableArray
NSArray :不可变数组
NSMutableArray : 可变数组
基本使用
1 void use() 2 { 3 /* 4 C数组对比 5 int a = 5; 6 7 int ages[10] = {1, 90, 89, 17}; 8 9 Person *p = [[Person alloc] init];10 Person *persons[5] = {p, [[Person alloc] init]};11 */12 13 // OC数组不能存放nil值14 // OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等15 16 // 这个array永远是空数组17 // NSArray *array = [NSArray array];18 19 20 /*21 1.NSArray的创建22 */23 NSArray *array2 = [NSArray arrayWithObject:@"jack"];24 25 // nil是数组元素结束的标记26 NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];27 // [array2 count];28 29 //NSArray *array4 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil];30 31 // 快速创建一个NSArray对象32 NSArray *array4 = @[@"jack", @"rose", @"4324324"];33 34 35 /*36 2.NSArray的元素个数37 */38 NSLog(@"%ld", array3.count);39 40 41 /*42 3.NSArray中元素的访问43 */44 NSLog(@"%@", [array3 objectAtIndex:1]);45 46 //array3[1];47 NSLog(@"%@", array3[0]);48 }
遍历数组
1 oid use2() 2 { 3 Person *p = [[Person alloc] init]; 4 5 NSArray *array = @[p, @"rose", @"jack"]; 6 7 // for (int i = 0; i<array.count; i++) 8 // { 9 // NSLog(@"%@", array[i]);10 // }11 12 // id obj代表着数组中的每一个元素13 //int i = 0;14 // for (id obj in array)15 // {16 // // 找出obj元素在数组中的位置17 // NSUInteger i = [array indexOfObject:obj];18 //19 // NSLog(@"%ld - %@", i, obj);20 // //i++;21 //22 // if (i==1)23 // {24 // break;25 // }26 // }27 28 [array enumerateObjectsUsingBlock:29 30 // 每遍历到一个元素,就会调用一次block31 // 并且当前元素和索引位置当做参数传给block32 ^(id obj, NSUInteger idx, BOOL *stop)33 {34 NSLog(@"%ld - %@", idx, obj);35 36 37 if (idx == 0)38 {39 // 停止遍历40 *stop = YES;41 }42 43 }];44 45 46 // void ^(myblock)(id, NSUInteger, BOOL *) = ^(id obj, NSUInteger idx, BOOL *stop)47 // {48 // NSLog(@"%ld - %@", idx, obj);49 //50 //51 // if (idx == 0)52 // {53 // // 停止遍历54 // *stop = YES;55 // }56 // };57 //58 // for (int i = 0; i<array.count; i++)59 // {60 // // 用来标记是否需要停止遍历61 // BOOL isStop = NO;62 //63 // // 取出元素64 // id obj = array[i];65 // 66 // myblock(obj, i, &isStop);67 // 68 // 69 // if (isStop)70 // {71 // break;72 // }73 // }74 75 }
可变数组的基本使用
1 void use3() 2 { 3 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil]; 4 5 // 添加元素 6 [array addObject:[[Person alloc] init]]; 7 8 [array addObject:@"jack"]; 9 10 // 删除元素11 //[array removeAllObjects];12 // 删除指定的对象13 // [array removeObject:@"jack"];14 [array removeObjectAtIndex:0];15 16 // 错误写法17 // [array addObject:nil];18 19 20 NSLog(@"%@", array);21 22 NSLog(@"%ld", array.count);23 }
注意:
1 void use4() 2 { 3 // @[] 只创建不可变数组NSArray 4 /* 错误写法 5 NSMutableArray *array = @[@"jack", @"rose"]; 6 7 [array addObject:@"jim"]; 8 */ 9 10 11 //NSArray *array = @[@"jack", @"rose"];12 }
【黑马程序员】————Foundation框架02常用类—集合类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。