我有2
NSArray
,我们可以将其称为CountriesArray
和UNCountriesArray
。 CountriesArray
包含世界上所有国家/地区,UNCountriesArray
包含属于联合国的所有国家/地区。
我想获得2个数组的subset
。所以最后我应该得到一个阵列,其中包含不属于联合国的国家。有人可以帮助我编写获取2个数组子集的objective-c
代码吗?
答案 0 :(得分:3)
使用套装:
NSMutableSet *countriesSet = [NSMutableSet setWithArray:countriesArray];
NSSet *unSet = [NSSet setWithArray:unCountriesArray];
[countriesSet minusSet:unSet];
// countriesSet now contains only those countries who are not part of unSet
请记住,该集的成员未分类。如果您想要一个已排序的数组,则必须重新排序结果。
答案 1 :(得分:1)
您可以使用NSMutableArray的removeObjectsInArray方法执行此操作。例如:
NSMutableArray *countriesArray = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
NSArray *unCountriesArray = [NSArray arrayWithObjects:@"2", @"4", nil];
[countriesArray removeObjectsInArray:unCountriesArray];
NSLog(@"Countries array: %@", countriesArray);