NSArray排序简记

来源:互联网 发布:android获取xml数据 编辑:程序博客网 时间:2024/05/22 04:45

设定一个NSArray如下

NSArray *array = @[@(1), @(2), @(3), @(4), @(5)];

1、遍历方法1(普通循环遍历)

for(NSNumber *num in array){    NSLog(@"%@",num);}

2、遍历方法2(块代码遍历)
enumerateObjectsUsingBlock参数中
obj为数组成员
idx为指定数组成员
*stop为开始或者退出循环控制

 [array enumerateObjectsUsingBlock:^(NSNumber *obj, NSUInteger idx, BOOL *stop) {     //循环遍历整个数组        NSLog(@"%@", obj);     // 当idx为1时 退出循环        if (idx == 1) {            *stop = YES;        }    }];

3、排序
升序

 array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {        // 升序        return [num1 compare:num2];    }];

降序

 array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {        // 降序        return [num2 compare:num1];    }];

4、乱序*

 array = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {   //  arc4random_uniform(2) => 0~1之间的随机数        int seed = arc4random_uniform(2);        if (seed) {        //升序            return [num1 compare:num2];        } else {        //降序            return [num2 compare:num1];        }    }];
0 0