NSArray *arrOne
包含对象A
,B
,C
,D
,E
NSArray *arrTwo
包含对象B
,E
我想看看arrOne
是否包含arrTwo
中的对象。在上面的示例中,我希望它返回YES/TRUE
。
如果arrTwo
包含对象B
,E
,Q
,那么它将返回NO/FALSE
,因为Q
不在arrOne
中}。
iOS SDK中是否有一个简单的API构建版本,让我这样比较一下?
答案 0 :(得分:1)
不,NSArray没有简单的方法可以做到这一点。如果arrTwo总是较短的数组,那么最好的方法是遍历其内容,检查arrOne是否包含这些对象。在循环内,如果arrOne中不包含对象,则返回NO。如果它一直通过循环,那么它应该返回YES。
答案 1 :(得分:1)
您可以从数组中创建两个NSSet
(或者如果您不关心顺序,则将其替换为集合),然后使用NSSet
的{{1}}方法。它可能会执行与rdelmar suggested相同的循环,但它也可以通过巧妙的方式进行优化。对于小数量,它可能无关紧要,但如果你有很多成员对象,那么尝试这种方法以确定它是否更快是值得的。
注意:这基本上是James Webster linked to。
的解决方案