美文网首页
ios 数组排序 中文

ios 数组排序 中文

作者: hstar德 | 来源:发表于2020-05-07 15:27 被阅读0次

1.数组排序 支持中文

+(NSMutableArray *)sortDevModel:(NSArray *)arr{

    arr = [arr sortedArrayUsingComparator:^NSComparisonResult(DeviceModel *obj1, DeviceModel *obj2) {

        if (obj1.isOnline) {

            if (obj2.isOnline) {

                return [obj1.name localizedCompare:obj2.name];

            }else{

                return NO;

            }

        }else {

            if (obj2.isOnline) {

                return YES;

            }else{

                return [obj1.name localizedCompare:obj2.name];

            }

        }

    }];

    return [[NSMutableArray alloc]initWithArray:arr];

}

localizedCompare:可比较中文

2.多条件排序 如果用中文的key 排序结果可能不正确

NSSortDescriptor *descriptor = [NSSortDescriptorsortDescriptorWithKey:@"key1"ascending:YES];

NSSortDescriptor *descriptor1 = [NSSortDescriptorsortDescriptorWithKey:@"key2"ascending:YES];

arr = [arr sortedArrayUsingDescriptors:@[descriptor,descriptor1]];

NSArray 使用sortedArrayUsingDescriptors,返回排序好的数组。

NSMutableArray直接使用sortUsingDescriptors,对数组本身排序。

如果数组里面不是对象  key直接传nil

相关文章

网友评论

      本文标题:ios 数组排序 中文

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