Прежде всего, я много искал, но все методы, похоже, для примитивов или для целых пользовательских объектов.Удаление повторяющихся пользовательских объектов из двух массивов и их объединение
Мое положение это. У меня есть пользовательские объекты типа в двух разных массивах. Однако поля каждого отдельного объекта сильно отличаются друг от друга, за исключением только двух полей.
Я хочу объединить оба этих массива, а затем удалить дубликаты только для этих двух полей. Как я могу это сделать. Мой код до сих пор
NSMutableArray* testArray = [eventHandler returnAllEvents];
NSMutableArray* combinedArray = [[NSMutableArray alloc]init];
NSArray* finalArray = [[NSArray alloc]init];
if (testArray.count==0) {
for (int i = 0; i<facebookData.count; i++) {
LSEvent* event = [facebookData objectAtIndex:i];
[combinedArray addObject:event];
}
finalArray = [combinedArray arrayByAddingObjectsFromArray:calendarData];
}
NSMutableArray *uniqueArray = [NSMutableArray array];
NSMutableSet *names = [NSMutableSet set];
for (id obj in finalArray) {
NSString *destinationName = [obj destinationname];
if (![names containsObject:destinationName]) {
[uniqueArray addObject:obj];
[names addObject:destinationName];
}
}
Какие из этих массивов являются 2 массива вы хотели бы объединить и какой массив вы положить результат в? –
В принципе, вы должны просто игнорировать этот код, поскольку это была незавершенная работа. Я просто искал алгоритм в соответствии с ситуацией. –
Как бы вы определили, какой из дубликатов удалить, если все, кроме двух полей, отличается? –