ios - 与第二组相比,NSSet 计数唯一条目

标签 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")
}

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

您可以创建一个可变的 set1 副本,并从中减去 set2,如下所示:

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

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

关于ios - 与第二组相比,NSSet 计数唯一条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28601026/

相关文章:

javascript - 使用 Regex 拆分字符串会产生意外结果

ios - Xcode 4/iOS如何为另一家公司在App Store中分发应用程序?

ios - 除非我指定正确的 CGRect,否则 UIView 上的按钮没有响应

java - 如何将 Java 7+ 'Objects.hash()' 与数组一起使用?

python - 基于精确字符串匹配过滤 Pandas Data Frame

尽管我正在执行 str.decode(),但 Python 会抛出 UnicodeEncodeError。为什么?

objective-c - 发布 UIAlertView 时的奇怪编码模式

ios - 圆角半径图像 Swift

c - 如何移动整个二维数组

PHP - 将数组作为可变长度参数列表传递