/**
OC加强
*/
/**
OC数组
1、C语言中只能定义时类型元素
2、OC中可以放各种类型对象
*/
NSArray *array0 = [NSArray array];
NSArray *array1 = [NSArray arrayWithObject:@"12"];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
NSUInteger length = [array2 count];//获取数组个数
BOOL isContainValue = [array2 containsObject:@"2"];//数组是否包含某个元素
id lastObj = [array2 lastObject];//数组的最后一个元素
id firstObj =[array2 objectAtIndex:0];//获取某个位置的元素
NSUInteger index01 = [array2 indexOfObject:@"1"];//获取某个元素在数组的中位置
NSUInteger index02 = [array2 indexOfObject:@"1" inRange:NSMakeRange(0, 3)];//获取某元素在指定范围内的的位置,返回NSNotFound或者指定位置
//数组遍历一
NSArray *strArray = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
for (int i =0; i < strArray.count; i++) {
id obj = [strArray objectAtIndex:i];
NSLog(@"%@", obj);
}
//数组遍历二:关键字forin
for (id obj in strArray) {
NSLog(@"%@", obj);
}
//数组遍历三
[strArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@", obj);
}];
//数组中对象执行方法
Dog *dog1 = [[Dog alloc]init];
Dog *dog2 = [[Dog alloc]init];
NSArray *dogArray = [NSArray arrayWithObjects:dog1,dog2, nil];
[dogArray makeObjectsPerformSelector:@selector(eat)];//循环执行数组中对象的方法
[dogArray makeObjectsPerformSelector:@selector(eatFood:) withObject:@"骨头"];//执行有入参的方法
//添加新对象,生成新的数组
NSArray *array3 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
[array3 arrayByAddingObject:@"4"];//在当前数组上追加一个元素
//传入一个范围,取出数组元素
[array3 subarrayWithRange:NSMakeRange(0, 2)];
//将数组转成字符串
[array3 componentsJoinedByString:@"-"];//后面传入的就是数组中每个元素中间相隔的
//字符串转成数组方法
NSString *str = @"1234";
[str componentsSeparatedByString:@"="];//拆分每个字符串,类似JAVA中split
//写入文件
NSArray *array5 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
[array5 writeToFile:@"/Users/fulin/Desktop/a.txt" atomically:YES];
//读取文件
NSString *array6 = [NSArray arrayWithContentsOfFile:@"/Users/fulin/Desktop/a.txt"];
NSLog(@"%@", array6);
//可变数组
NSMutableArray *array7 = [[NSMutableArray alloc] initWithCapacity:10];
NSMutableArray *array8 = [NSMutableArray array];
[array8 addObject:@"10"];
//增加,删除对象
[array8 addObject:@"4"];//增加对象
[array8 removeObject:@"5"];//删除某个对象
OC数组学习
最新推荐文章于 2018-06-10 17:17:20 发布