ios将后台获取的数据Model根据时间排序
2019-04-30 本文已影响0人
遥远不是北_
//将模型数组按照时间进行排序
- (NSArray *)sortedArrayUsingComparatorByPaymentTimeWithDataArr:(NSArray *)dataArr{
NSArray *sortArray = [dataArr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
QDDetailsModel *model1 = obj1;
QDDetailsModel *model2 = obj2;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSDate *date1= [dateFormatter dateFromString:model1.CreateDate];
NSDate *date2= [dateFormatter dateFromString:model2.CreateDate];
if (date1 == [date1 earlierDate: date2]) {
return NSOrderedAscending;//升序 date1和date2位置不变
}else if (date1 == [date1 laterDate: date2]) {
return NSOrderedDescending;//降序 date1和date2位置交换
}else{
return NSOrderedSame;//相等 date1和date2位置不变
}
}];
return sortArray;
}
总结
- sortedArrayUsingComparator这个方法本身就是按递增的方式排序。
- 返回的返回值(NSOrderedAscending 不交换,NSOrderedSame 不交换,NSOrderedDescending 交换。
- earlierDate获取较早的日期, laterDate获取较晚的日期。