Я знаю, как объединить два массива, которые содержат некоторый дубликат: Вот Exemple, чтобы проиллюстрировать то, что я хочу сделать:Как объединить два NSArray
// 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, но не нашел способ фильтрации массива с другим массивом =/
Любая помощь была бы оценена.
Что такое «дублон»? – trojanfoe
@trojanfoe жаль об этом слове (google translate, я вас ненавижу!) D) Я бы имел в виду, как сказал Торстен С., дубликат. Прошу прощения за путаницу. Мой вопрос был отредактирован. – klefevre
@ kl94: У словарей есть другие ключи помимо «id»? Что должно произойти, если у вас есть 2 словаря с одинаковым идентификатором, но разные другие ключи/значения? –