Reputation: 3015
I have two NSMutableArray filled with data object. how do I compare both array and merge if any change found.
ex:
Array1= index(0) userName = {'a',1,'address'}
index(1) userName = {'b',2,'address'}
Array2= index(0) userName = {'c',3,'address'}
index (1) userName = {'b',2,'address'}
Result is:
Array= index(0) userName = {'a',1,'address'}
index (1) userName = {'b',2,'address'}
index(2) userName = {'c',3,'address'}
Please help
Upvotes: 20
Views: 18433
Reputation: 16861
NSArray *array1, *array2;
...
MSMutableArray *result = [array1 mutableCopy];
for (id object in array2)
{
[result removeObject:object]; // make sure you don't add it if it's already there.
[result addObject:object];
}
Upvotes: 12
Reputation: 28242
An easy way is to use sets:
NSMutableSet *set = [NSMutableSet setWithArray:array1];
[set addObjectsFromArray:array2];
NSArray *array = [set allObjects];
Though you will have to sort array
yourself afterward.
(N.B., I used lowercase names for the variables as is usually customary).
Upvotes: 52