按照I用户ID去除重复数据,根据特定时间排序

#pragma mark-Tool
/**
 去除重复的信息,按排序时间进行排序
 
 @param array 请求回来的数据
 @return 排序好的数据
 */
- (NSArray*)mutchData:(NSMutableArray*)array{
    //去重
    _dataDic = [[NSMutableDictionary alloc]init];
    for (CommonContactList *info in array) {
        [_dataDic setObject:info forKey:info.oftenUseAssetUserID];
    }
    //按照揭晓时间排序
    NSArray *dataArray = [_dataDic.allValues sortedArrayUsingComparator:^NSComparisonResult(CommonContactList* obj1, CommonContactList* obj2) {
        NSComparisonResult result = [obj1.orderTime compare:obj2.orderTime];
        if (result == NSOrderedAscending) {
            return NSOrderedDescending;
        }else if(result == NSOrderedDescending){
            return NSOrderedAscending;
        }
        return result;
    }];
    return dataArray;
    
}

#pragma mark - 广告数据的去重和排序
- (void)handleAdData {
    //去重
    NSMutableDictionary *dataDic = [[NSMutableDictionary alloc]init];
    for (Fiat_ADListInfo *model in self.dataArray) {
        [dataDic setObject:model forKey:model.MakerRecordNO];
    }
    
    //序列化器对数组进行排序的block 返回值为排序后的数组
    NSArray *sortArray = [dataDic.allValues sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id _Nonnull obj2) {
        //排序操作
        Fiat_ADListInfo *mode1 = (Fiat_ADListInfo *)obj1;
        Fiat_ADListInfo *mode2 = (Fiat_ADListInfo *)obj2;
        if (mode2.MakerRecordNO.doubleValue > mode1.MakerRecordNO.doubleValue) {
            return NSOrderedDescending;
        }else if (mode2.MakerRecordNO.doubleValue < mode1.MakerRecordNO.doubleValue){
            return NSOrderedAscending;
        }
        return NSOrderedSame;
    }];
    self.dataArray = [NSMutableArray arrayWithArray:sortArray];
}

你可能感兴趣的:(按照I用户ID去除重复数据,根据特定时间排序)