美文网首页
将数组中的数据快速分组

将数组中的数据快速分组

作者: reviewThis | 来源:发表于2018-07-20 16:37 被阅读114次

    需求:一套试卷中有大量不同类型的题目,将题目快速分类处理。

    一、初始化了一波假数据

    - (void)setupQuestions {     for (int i = 0; i < 10; i++) {        

    HXQuestionModel *qModel = [[HXQuestionModel alloc]init];        

    if (i%2 == 0) {            

    qModel.qType = @"X型题";        

    }else if (i%3 == 0) {          

      qModel.qType = @"Y型题";      

      }else if (i%5 == 0) {          

      qModel.qType = @"Z型题";      

      }else {            

    qModel.qType = @"默认题型";      

      }      

      [_questionsArray addObject:qModel];  

      } }

    解决方式:

    1.首先获取试卷中题目的类型

    获取题目类型

     NSArray *indexArray = [_questionsArray valueForKey:@"qType"];  

      // 将array装换成NSSet类型    除重

    NSSet *indexSet = [NSSet setWithArray:indexArray];         

    NSLog(@"%@",indexSet);

    2.根据所选条件筛选数据

    NSMutableArray *filerResultArr = [NSMutableArray array];   

    [indexSet enumerateObjectsUsingBlock:^(id  _Nonnull obj, BOOL * _Nonnull stop) {        NSLog(@"%@",obj);     

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"qType == %@",obj];  NSArray *subArr = [_questionsArray filteredArrayUsingPredicate:predicate];        [filerResultArr addObject:subArr]; 

    }];         

    NSLog(@"%@",filerResultArr);

    相关文章

      网友评论

          本文标题:将数组中的数据快速分组

          本文链接:https://www.haomeiwen.com/subject/cqjqmftx.html