我需要做一个比较一些NSSet的方法,看看是否所有的对象都在那里,或者它是否缺少一个对象以及它是哪个对象。
我只是在viewDidLoad方法上创建的,但是我需要一个可以检查所有NSSet的方法(有很多)。我做的不好。
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableSet *masterSet = [[NSMutableSet alloc] initWithObjects:@"0", @"1", @"2", @"3", @"4" ,nil];
NSMutableSet *set2 = [[NSMutableSet alloc] initWithObjects:@"0", @"1", @"2", @"3", nil];
NSMutableSet *set3 = [[NSMutableSet alloc] initWithObjects:@"2", @"10", @"12", @"14", @"18", nil];
if ([masterSet intersectsSet:set2] == [set2 count]) {
NSLog(@"set2: %@", set2);
}
}
在此示例中,我尝试检查是否set2上的所有对象都在masterSet中,所以我将打印set2。我不明白为什么这行不通,因为这没有在日志上打印。
如果有人可以帮助我,则需要在一种方法上执行此“ If”,该方法将检查我拥有的所有NSset,并检查是否缺少一个完全匹配的对象,也请获取此对象。
谢谢你们
最佳答案
intersectsSet:
返回BOOL
。这意味着0(假)或1(真)。因此,只要您在set2上的计数大于1,该语句就永远不会成立。
您要查找的方法是intersectSet:
关于iphone - NSSet intersectsSet实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11408673/