美文网首页
iOS之数组的排序

iOS之数组的排序

作者: seventhboy | 来源:发表于2017-04-27 00:00 被阅读92次

    pragma mark -- 数组排序方法(升序)

    • (void)arraySortASC{
      //数组排序
      //定义一个数字数组
      NSArray *array = @[@(3),@(4),@(2),@(1)];
      //对数组进行排序
      NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
      NSLog(@"%@~%@",obj1,obj2); //3~4 2~1 3~1 3~2
      return [obj1 compare:obj2]; //升序
      }];
      NSLog(@"result=%@",result);
      }

    pragma mark -- 数组排序方法(降序)

    • (void)arraySortDESC{
      //数组排序
      //定义一个数字数组
      NSArray *array = @[@(3),@(4),@(2),@(1)];
      //对数组进行排序
      NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
      NSLog(@"%@~%@",obj1,obj2); //3~4 2~1 3~1 3~2
      return [obj2 compare:obj1]; //降序
      }];
      NSLog(@"result=%@",result);
      }

    pragma mark -- 数组排序方法(乱序)

    • (void)arraySortBreak{
      //数组排序
      //定义一个数字数组
      NSArray *array = @[@(3),@(4),@(2),@(1),@(5),@(6),@(0)];
      //对数组进行排序
      NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) {
      NSLog(@"%@~%@",obj1,obj2);
      //乱序
      if (arc4random_uniform(2) == 0) {
      return [obj2 compare:obj1]; //降序
      }
      else{
      return [obj1 compare:obj2]; //升序
      }
      }];
      NSLog(@"result=%@",result);
      }

    相关文章

      网友评论

          本文标题:iOS之数组的排序

          本文链接:https://www.haomeiwen.com/subject/fxtgzttx.html