oc 2 NSArray小结
//1 数组的创建
NSArray *array=[[NSArray alloc] initWithObjects:@"1",@"2",@"3", nil];
NSArray *array1=[[NSArray alloc] initWithArray:array];
NSArray *array2=[NSArray arrayWithObjects:@"3",@"4",@"5", nil];
// NSLog(@"%@",array);
// NSLog(@"%@",array1);
//2 数组也可以存储不同类型的对象(数组中元素是以对象应是存储的),实际存储的是对象的地址。
//存储的是自定义对象,最好重写,description
NSNumber *num1=[NSNumber numberWithInt:11];
NSArray *array3=[NSArray arrayWithObjects:@"5",@"6",@"7",num1,array, nil];
// NSLog(@"%@",array3);
//3字面量用于不可变数组,NSSArray
NSArray *array4=@[@"2",@"4",@"5",@"a"];
//4获取数组元素的个数
NSUInteger integer=[array4 count];
NSLog(@"%lu",integer);
//5获取对象元素,索引从0开始
NSString *str1=[array4 objectAtIndex:2];
NSLog(@"%@",str1);
//获取元素的位置
NSUInteger integer1= [array4 indexOfObject:@"a"];
NSLog(@"%lu",integer1);
//6 数组中是否包含某个对象
BOOL bool1=[array4 containsObject:@"5"];
NSLog(@"%d",bool1);
//7 for in
//8 数组的排序 和 block方式排序
NSArray *array5=[array4 sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@",array5);
NSArray *array6=[array4 sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2];
}];
NSLog(@"%@",array6);
//自定义类属性排序 NO倒序,YES 正序
// NSSortDescriptor *s1=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:NO];
// NSMutableArray 增删改查
//1 添加数组元素
NSMutableArray *marray=[NSMutableArray arrayWithObjects:@"d",@"c",@"f", nil];
[marray addObject:@"lo"];
// NSLog(@"%@",marray);
//2指定位置的插入
[marray insertObject:@"h" atIndex:2];
NSLog(@"%@",marray);
//3删除数组中的一个对象
[marray removeObject:@"h"];//通过对象删除
[marray removeObjectAtIndex:1];//通过索引,如果值大于count会出现异常
// NSLog(@"%@",marray);
//删除最后一个
[marray removeLastObject];
//NSLog(@"%@",marray);
//删除数组所有元素
[marray removeAllObjects];
NSLog(@"%@",marray);
//for in 快速排序
NSMutableArray *marray1=[NSMutableArray arrayWithObjects:@"d",@"c",@"f", @"y",nil];
for(NSString *k in marray1){
NSLog(@"%@",k);
}
//枚举器遍历 ,数组不能为空
NSEnumerator *enumerator= [marray1 objectEnumerator];//数组对象创建一个枚举器
id obj;//创建一个对象
while (obj==[enumerator nextObject]) {
NSLog(@"%@",obj);
}