OC的数组只能存放对象类型 不能存放C语言的基本数据类型
OC的数组可以存放多种对象类型的数据【@”dfa”, @2, pxd, cc, shuzu】
不能存NSNull的数据
1.创建
NSArray *array = @[@”jack”,@”tom”,@”merry”];
2.使用方法
NSArray *arr = [[NSArray alloc] initWithArray:array];
NSArray *arr_ = [NSArray arrayWithArray:array];
用多个对象初始化一个数组
注意,数组的初始化以nil表示结尾,不能向数组里面插入为nil的值
NSArray *arr1 = [[NSArray alloc] initWithObjects:@”jack”,@”tom”, nil];
NSArray *arr1_ = [NSArray arrayWithObjects:@”jack”,@”tom”, nil];
数组元素个数 count
NSLog(@”%ld”, array.count);
访问数组的对象 索引值
NSString *name = [arr1 objectAtIndex:0];
获取某个对象在数组里面的索引值
NSUInteger index = [arr1 indexOfObject:@”tom”];
判断数组里面是否包含某个对象
BOOL result = [arr1 containsObject:@”jack”];
快速获取数组第一个元素
[arr1 objectAtIndex:0];
arr1[0]
[arr1 firstObject];//第一个元素
[arr1 lastObject];//最后一个元素
可变数组
NSMutableArray *ar = [NSMutableArray arrayWithCapacity:0];
向数组里面添加一个元素
[ar addObject:@”shanghai”];
[ar addObjectsFromArray:@[@”cq”,@”cd”]];
插入元素
[ar insertObject:@”bj” atIndex:1];
交换数据
[ar exchangeObjectAtIndex:0 withObjectAtIndex:1];
删除数据
[ar removeObject:@”xianggang”];
[ar removeObject:@”bj”];
[ar removeObjectAtIndex:1];
[ar removeAllObjects];
NSNumber封装C语言的数据类型 int long char double float bool
NSNumber *nb = [NSNumber numberWithInt:20];
NSValue封装C语言的结构体和枚举
NSRange range = NSMakeRange(0, 20);