sortedArrayUsingComparator不适用于IOS中的数组?

时间:2013-09-20 09:09:43

标签: ios iphone objective-c xcode

你好我想用最旧的日期对数组进行排序。它适用于小数据。但是当数据很大时,没有得到完美的阵容。

这是我的代码

  -(NSMutableArray *)sortArrayOldestTonewest:(NSMutableArray *)arr{

    NSArray *sortedArray;

    NSMutableArray *arrResponse=[NSMutableArray arrayWithArray:arr];

    sortedArray = [arrResponse sortedArrayUsingComparator:^(id a,id b) {
        NSString *str1 = [a valueForKey:@"CardExpiryDate"];
        NSString *str2 = [b valueForKey:@"CardExpiryDate"];

        NSDate *date1=[Utility dateFromString:str1 withFormat:@"dd/mm/yyyy"];
        NSDate *date2=[Utility dateFromString:str2 withFormat:@"dd/mm/yyyy"];

        return [date1 compare:date2];

    }];

    NSMutableArray  *arrResult=[[NSMutableArray alloc]initWithArray:sortedArray];
    return arrResult
    ;

}

我做错了什么。 请帮忙。

1 个答案:

答案 0 :(得分:2)

您的日期格式错误,应为@"dd/MM/yyyy"

“MM”是月份,“mm”是分钟。 对于小型数据集,结果必须是纯粹的巧合。