NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];
[dic1 setObject:@"123" forKey:@"orgPID"];
[dic1 setObject:@"aaa" forKey:@"name"];
NSMutableDictionary *dic2 = [NSMutableDictionary dictionary];
[dic2 setObject:@"123" forKey:@"orgPID"];
[dic2 setObject:@"aaa" forKey:@"name"];
NSMutableDictionary *dic3 = [NSMutableDictionary dictionary];
[dic3 setObject:@"456" forKey:@"orgPID"];
[dic3 setObject:@"aaa" forKey:@"name"];
NSArray* array = @[dic1,dic2,dic3];
// 遍历,创建组数组,组数组中的每一个元素是一个模型数组
NSMutableArray *_groupArr = [NSMutableArray array];
NSMutableArray *currentArr = [NSMutableArray array];
// 因为肯定有一个字典返回,先添加一个
[currentArr addObject:self.organizeArray[0]];
[_groupArr addObject:currentArr];
for (int i = 1; i < array.count; i++) {
// 先取出组数组中 上一个模型数组的第一个字典模型的groupID
NSMutableArray *preModelArr = [_groupArr objectAtIndex:_groupArr.count-1];
int preGroupID = [[[preModelArr objectAtIndex:0] objectForKey:@"orgPID"] intValue];
// 取出当前字典,根据groupID比较,如果相同则添加到同一个模型数组;如果不相同,说明不是同一个组的
NSDictionary *currentDict = self.organizeArray[i];
int groupID = [[currentDict objectForKey:@"orgPID"] intValue];
if (groupID == preGroupID)
{
[currentArr addObject:currentDict];
}else{
//如果不相同,说明 有新的一组,那么创建一个模型数组,并添加到组数组
currentArr = [NSMutableArray array];
[currentArr addObject:currentDict];
[_groupArr addObject:currentArr];
}
}
NSLog(@"%@",currentArr);
最后的currentArr里面只有dic1和dic2 的数据