iOS GorupBy

转自:  IOS 数组分组 Grouped NSArray

1
2
3
4
5
6
7
8
NSMutableSet  *set=[ NSMutableSet  set];
   [_list enumerateObjectsUsingBlock:^( id  obj,  NSUInteger  idx,  BOOL  *stop) {
       [set addObject:obj[@ "MeasureType" ]]; //利用set不重复的特性,得到有多少组,根据数组中的MeasureType字段
   }];
   [set enumerateObjectsUsingBlock:^( id  obj,  BOOL  *stop) { //遍历set数组
       MyLog(@ "obj=%@" ,obj);
        NSPredicate  *predicate = [ NSPredicate  predicateWithFormat:@ "MeasureType = %@" , obj]; //创建谓词筛选器
        NSArray  *group = [_list filteredArrayUsingPredicate:predicate]; //用数组的过滤方法得到新的数组,在添加的最终的数组_slices中<br>         [_slices addObject:group];<br>    }];

 解析:查询数据库得到数据_list数组NSArray,_list中的每一行为数据库中的一行数据,有多个字段.

_list数组类型为NSArray 而不是NSMutableArray

_slices为最终分组后的数组.

MeasureType为_list数组中每一行中的一个字段名.

 

你可能感兴趣的:(ios)