与第2集相比,NSSet计数唯一条目

时间:2015-02-19 07:48:05

标签: ios arrays string count nsset

我有两个集合并使用isSubsetOfSet:来确定接收集是否全部存在于另一个集合中。但是,当isSubsetOfSet:失败时,我需要弄清楚接收集中有多少唯一条目。例如:

NSSet *set1 = [NSSet setWithObjects:@"1", @"2", @"3"];
NSSet *set2 = [NSSet setWithObjects:@"1", @"3", @"4", @"5"];

if (![set1 isSubsetOfSet:set2]) {

    How many items are in set1 that are not in set2? The answer should be 1. (a string "2")
}

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

您可以制作set1的可变副本,并从中减去set2,如下所示:

NSMutableSet *missing = [NSMutableSet setWithSet:set1];
[missing minusSet:set2];

现在missing包含set1中遗失的set2中的所有对象。您可以跳过isSubsetOfSet:的来电,将missing.length与零进行比较。