我需要做一个比较一些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/

10-11 04:34