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 *temp1 = [[NSMutableArray alloc] init];
NSMutableArray *temp2 = [NSMutableArray array];
NSMutableArray *def1 = [[NSMutableArray alloc] init];
NSMutableArray *def2 = [NSMutableArray array];
for (NSMutableDictionary *dic in array)
{
if (![temp1 containsObject:dic[@"orgPID"]])
{
[temp1 addObject:dic[@"orgPID"]]; // 取出重复
[def1 addObject:dic];
}else{
if (![temp2 containsObject:dic[@"orgPID"]]) {
[temp2 addObject:dic[@"orgPID"]]; //哪些重复的值
[def2 addObject:dic];
}
}
}
__block NSMutableArray *difObject = [NSMutableArray arrayWithCapacity:5];
//找到temp1中有,temp2中没有的数据
[def1 enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSString *str1 = obj[@"orgPID"];//[obj objectAtIndex:idx];
__block BOOL isHave = NO;
[def2 enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([str1 isEqual:obj[@"orgPID"]]) {
isHave = YES;
*stop = YES;
}
}];
if (!isHave) {
[difObject addObject:obj];
}
}];
NSLog(@"difObject is%@",difObject);
最后只显示dict3的数据