mar*_*one 24 arrays objective-c
可能重复:比较两个数组
我有两个NSArray,我想用第二个数组中的对象创建一个新的数组但不包含在第一个数组中.
Example:
NSMutableArray *firstArray = [NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melissa", nil];
NSMutableArray *secondArray = [NSMutableArray arrayWithObjects:@"Bill", @"Paul", nil];
The resulting array should be: 
[@"Paul", nil];
我通过双循环将对象与内部对象进行比较来解决这个问题.
有更好的解决方案吗?
Jea*_*ser 100
[secondArray removeObjectsInArray:firstArray];
这个想法取自另一个答案.
tea*_*bot 10
如果重复的项目是不是在阵列显著,你可以使用minusSet:的操作   NSMutableSet:
NSMutableArray *firstArray = [NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melissa", nil];
NSMutableArray *secondArray = [NSMutableArray arrayWithObjects:@"Bill", @"Paul", nil];
NSSet *firstSet = [NSSet setWithArray:firstArray];
NSMutableSet *secondSet = [NSMutableSet setWithCapacity:[secondArray count]];
[secondSet addObjectsFromArray:secondArray];
[secondSet minusSet:firstSet]; // result is in `secondSet`