转自: 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数组中每一行中的一个字段名.