#pragma mark - 判斷分組數,並且按上傳時間和檢查時間降序排列
-(void)analyseHDCData{
//1.數組內部元素排序
NSArray *sortDesc = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"createTime" ascending:NO]];
NSArray *sortedArr = [hdcDatasArray sortedArrayUsingDescriptors:sortDesc];
//2.對數組進行分組,按createTime,創建組數組,組數組中的每一個元素是一個數組
NSMutableArray *groupArray = [NSMutableArray array];
NSMutableArray *currentArray = [NSMutableArray array];
//因爲肯定有一個元素返回,先添加一個
[currentArray addObject:sortedArr[0]];
[groupArray addObject:currentArray];
//如果不止一個,纔要動態添加
if(sortedArr.count >1){
for (int i =1; i < sortedArr.count; i++) {
NSMutableArray *preModelArr = [groupArray objectAtIndex:groupArray.count-1];
// 先取出組數組中,上一個數組的第一個元素
HdcDataDto *hdcDto=[preModelArr objectAtIndex:0];
//取出當前元素,根據createTime比較,如果相同則添加到同一個組中;如果不相同,說明不是同一個組的
HdcDataDto *hdcDtoTmp=[sortedArr objectAtIndex:i];
if ([self compareCreateTime:hdcDto.createTime secondTime:hdcDtoTmp.createTime]){
[currentArray addObject:hdcDtoTmp];
}else{
// 如果不相同,說明有新的一組,那麼創建一個元素數組,並添加到組數組groupArr
currentArray = [NSMutableArray array];
[currentArray addObject:hdcDtoTmp];
[groupArray addObject:currentArray];
}
}
}
// 3、遍歷對每一組進行排序
hdcDatasGroup=groupArray;
}
#pragma mark - 比較上傳時間
-(BOOL)compareCreateTime:(NSString *)firstTime secondTime:(NSString *)secondTime{
NSDateFormatter *df = [[NSDateFormatter alloc]init];
[df setLocale:[[NSLocalealloc]initWithLocaleIdentifier:@"zh_CN"]];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate *time1 = [NSDate timeStampTransformToDate:firstTime];
NSString *timeStr1=[df stringFromDate:time1];
NSDate *time2 = [NSDate timeStampTransformToDate:secondTime];
NSString *timeStr2=[df stringFromDate:time2];
if ([timeStr1 isEqualToString:timeStr2]) {
returnYES;
}else{
returnNO;
}
}
實現效果如圖所示: