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);
        }

原文地址:https://www.cnblogs.com/shao621/p/4556650.html