这可能是一个简单的问题,但是我不知道对带符号整数值数组进行排序的方式。

我的数组在排序之前

pointsAry (-2,-7,-5,0,-3,2,-1,-4,1,3,-6)


使用后

NSArray * sortedArray = [pointsAry sortedArrayUsingComparator:^(id str1, id str2){
        return [(NSString *)str1 compare:(NSString *)str2 options:NSNumericSearch];
    }];


结果

sortedArray : (-1,-2,-3,-4,-5,-6,-7,0,1,2,3)


对于带符号的值,sortedArray格式不正确,所以我需要

(-7,-6,-5,-4,-3,-2,-1,0,1,2,3)


如何排序以上格式?提前致谢。

最佳答案

NSArray *sortedArray = [pointsAry sortedArrayUsingComparator:^(NSString *str1, NSString *str2){
    return [@([str1 intValue]) compare:@([str2 intValue])];
}];

关于ios - 如何在iOS中对签名数字数组进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20212998/

10-11 13:36