整合数组中还有相同的元素,最后数组中显示原数组中相同的

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/st646889325/article/details/80109138

   

    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 的数据

猜你喜欢

转载自blog.csdn.net/st646889325/article/details/80109138