首页 > 编程语言 > 详细

数组内对象根据指定属性排序

时间:2020-01-07 13:45:29      阅读:75      评论:0      收藏:0      [点我收藏+]

参考:https://www.jianshu.com/p/732461f2439a

 

[arr sortUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {

            BTItemModel *item1 = (BTItemModel *)obj1;

            BTItemModel *item2 = (BTItemModel *)obj2;

            return [item1.rank compare:item2.rank];

}];

 

错误方式,结果是无序的:

 [arr sortUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {

            BTItemModel *item1 = (BTItemModel *)obj1;

            BTItemModel *item2 = (BTItemModel *)obj2;

            if (item1.rank >  item2.rank) {

                return NSOrderedDescending;

            } else {

                return NSOrderedAscending;

            }

            return 0;

        }];

 

规范方式:

 

NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
 
    if ([obj1 integerValue] > [obj2 integerValue]) {
        return (NSComparisonResult)NSOrderedDescending;
    }
 
    if ([obj1 integerValue] < [obj2 integerValue]) {
        return (NSComparisonResult)NSOrderedAscending;
    }
    return (NSComparisonResult)NSOrderedSame;
}];

数组内对象根据指定属性排序

原文:https://www.cnblogs.com/huaida/p/12160806.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!