03-黑马程序员-NSArray、NSMutableArray
2014-06-03 22:26
429 查看
NSArray :不可变数组
NSMutableArray : 可变数组
2. NSArray的元素个数
第二种:
第三种:
错误写法
OC数组不能存放nil值
OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等
这个array永远是空数组
NSMutableArray : 可变数组
1. NSArray的创建
NSArray *array2 = [NSArray arrayWithObject:@"jack"]; // nil是数组元素结束的标记 NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil]; // [array2 count]; //NSArray *array4 = [NSArray arrayWithObjects:@"jack", @"rose", @"4324324", nil]; // 快速创建一个NSArray对象 NSArray *array4 = @[@"jack", @"rose", @"4324324"];
2. NSArray的元素个数
NSLog(@"%ld", array3.count);
3. NSArray中元素的访问
NSLog(@"%@", [array3 objectAtIndex:1]); //array3[1]; NSLog(@"%@", array3[0]);
4. 数组遍历
第一种:Person *p = [[Person alloc] init]; NSArray *array = @[p, @"rose", @"jack"]; for (int i = 0; i<array.count; i++) { NSLog(@"%@", array[i]); }
第二种:
id obj代表着数组中的每一个元素 int i = 0; for (id obj in array) { // 找出obj元素在数组中的位置 NSUInteger i = [array indexOfObject:obj]; NSLog(@"%ld - %@", i, obj); //i++; if (i==1) { break; } }
第三种:
[array enumerateObjectsUsingBlock: // 每遍历到一个元素,就会调用一次block // 并且当前元素和索引位置当做参数传给block ^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%ld - %@", idx, obj); if (idx == 0) { // 停止遍历 *stop = YES; } }];
5.可变数组的基本用法
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil]; // 添加元素 [array addObject:[[Person alloc] init]]; [array addObject:@"jack"]; // 删除元素 //[array removeAllObjects]; // 删除指定的对象 // [array removeObject:@"jack"]; [array removeObjectAtIndex:0]; // 错误写法 // [array addObject:nil]; NSLog(@"%@", array); NSLog(@"%ld", array.count);
6. 注意:
@[] 只创建不可变数组NSArray错误写法
NSMutableArray *array = @[@"jack", @"rose"]; [array addObject:@"jim"];
OC数组不能存放nil值
OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等
这个array永远是空数组
/NSArray *array = [NSArray array];
相关文章推荐
- 黑马程序员--OC学习篇之Foundation框架中的NSArray对象和NSMutableArray对象
- 黑马程序员---OC学习笔记之NSArray与NSMutableArray
- 《黑马程序员》 NSArray和NSMutableArray的使用(Objective - c语法)
- 黑马程序员——NSArray和NSMutableArray的使用
- 黑马程序员——Foundation框架——NSArray和NSMutableArray的介绍及使用
- 黑马程序员———Objctive-C———【NSArray不可变数组、NSMutableArray可变数组】
- 黑马程序员——Objective-C基础-NSArray & NSMutableArray
- 黑马程序员——Objective-C学习之不可变与可变集合(NSArray\NSMutableArray)
- 黑马程序员——Foundation框架——NSArray和NSMutableArray
- 【黑马程序员】OC-Foundation框架—NSArray和NSMutableArray
- 黑马程序员——Foundation框架NSArray和NSMUtableArray的介绍及使用
- 黑马程序员------Foundation框架中NSArray和NSMutableArray
- 黑马程序员 --- NSArray和NSMutableArray的用法
- 黑马程序员-------NSArray(NSMutableArray);
- 黑马程序员--OC自学笔记---10Foundation、NSString、NSURL、NSRange、NSArray、NSMutableArray、NSDictionary
- 黑马程序员 OC语言 - 7 结构体、NSString、NSArray、NSMutableArray
- 黑马程序员---Foundation常用类之NSArray/NSMutableArray
- 【黑马程序员】【Foundation框架】数组NSArray和NSMutableArray
- 黑马程序员------foundation_NSArray,NSMutableArray
- 黑马程序员—Foundation框架之NSArray与NSMutableArray