You can iterate through each data set and create your merged data set
NSMutableDictionary *dict1; //Your first set of data
NSMutableDictionary *dict2; //Your second set of data
NSArray *keys1 = [dict1 allKeys];
NSArray *keys2 = [dict2 allKeys];
NSMutableDictionary *combinedDictionary = [NSMutableDictionary dictionary];
//Iterating through first data set
for (id key in keys1) {
NSArray *array = [dict1 objectForKey:key];
NSMutableArray *subArray = [combinedDictionary objectForKey:key];
if (!subArray) {
subArray = [NSMutableArray array];
[combinedDictionary setObject:subArray forKey:key];
}
[subArray addObjectsFromArray:array];
}
//Iterating through second data set
for (id key in keys2) {
NSArray *array = [dict2 objectForKey:key];
NSMutableArray *subArray = [combinedDictionary objectForKey:key];
if (!subArray) {
subArray = [NSMutableArray array];
[combinedDictionary setObject:subArray forKey:key];
}
[subArray addObjectsFromArray:array];
}
Instead of creating a new NSMutableDictionary
as combinedDictionary
, you can replace merged data in one of the NSMutableDictionary
you already have.