你好我想用最旧的日期对数组进行排序。它适用于小数据。但是当数据很大时,没有得到完美的阵容。
这是我的代码
-(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
;
}
我做错了什么。 请帮忙。
答案 0 :(得分:2)
您的日期格式错误,应为@"dd/MM/yyyy"
。
“MM”是月份,“mm”是分钟。 对于小型数据集,结果必须是纯粹的巧合。