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;
  
}

总结

  1. sortedArrayUsingComparator这个方法本身就是按递增的方式排序。
  2. 返回的返回值(NSOrderedAscending 不交换,NSOrderedSame 不交换,NSOrderedDescending 交换。
  3. earlierDate获取较早的日期, laterDate获取较晚的日期。
上一篇下一篇

猜你喜欢

热点阅读