我会知道如何合并两个包含一些重复的数组:这是一个例子来说明我想要做什么:
// Here is some dictionary which contain an unique "id" key.
NSDictionary *dico1 = [NSDictionary dictionaryWithObjectsAndKeys:
@"11111111", @"id", nil];
NSDictionary *dico2 = [NSDictionary dictionaryWithObjectsAndKeys:
@"22222222", @"id", nil];
NSDictionary *dico3 = [NSDictionary dictionaryWithObjectsAndKeys:
@"33333333", @"id", nil];
NSDictionary *dico4 = [NSDictionary dictionaryWithObjectsAndKeys:
@"44444444", @"id", nil];
NSDictionary *dico5 = [NSDictionary dictionaryWithObjectsAndKeys:
@"55555555", @"id", nil];
// And here is duplicates of the 2nd and 3td dictionary.
NSDictionary *dico2_bis = [NSDictionary dictionaryWithObjectsAndKeys:
@"22222222", @"id", nil];
NSDictionary *dico3_bis = [NSDictionary dictionaryWithObjectsAndKeys:
@"33333333", @"id", nil];
现在我有一个数组,其中包含一些字典:
NSArray *currentArray = [NSArray arrayWithObjects:
dico1, dico2, dico3, nil];
这是要与第一个合并的新数组,其中包含一些重复的和新的“数据”:
NSArray *tempArray = [NSArray arrayWithObjects:
dico2_bis, dico3_bis, dico4, dico5, nil];
在最后阶段,我的目标是拥有一个包含所有字典的数组,并删除所有重复项
NSArray *finalArray = [NSArray arrayWithObjects:
dico1, dico2, dico3, dico4, dico5, nil];
我不知道什么是最有效的解决方案,合并必须很快。我是否必须实现快速枚举或基于块的枚举算法,或者可能是 NSPredicate 实现?我已经搜索过 NSPredicate,但我还没有找到一种方法来使用其他数组过滤数组 =/
任何帮助将不胜感激。