如何查找If数组包含两个或多个对象

时间:2016-03-28 11:18:59

标签: ios nsarray

我试图实现containsObject但有两个或更多参数,这可能吗?

目前我已经:

显然有太多的争论。我已经深入研究了Apple的文档,但我还没有找到任何东西。有什么建议吗?

if ([ myArray containsObject:@"1", @"2"]){
    NSLog(@"if");
} else if([ myArray containsObject:@"1", @"2",@"3",@"4"]) {
   NSLog(@"else if");
}else if([ myArray containsObject:@"1", @"2",@"3"]) {
   NSLog(@"else");
}

myArray的: -

myArray is (
    1,
    2,
    3,
    4
)

3 个答案:

答案 0 :(得分:1)

您可以检查数组的子集

self.__class__

答案 1 :(得分:0)

if ([myArray containsObject:@"1"] || [ myArray containsObject: @"2"]) {
    NSLog(@"if");
} else {
   NSLog(@"else");
}

答案 2 :(得分:0)

您需要编写自己的自定义代码。将方法中的所有必需对象作为数组传递,并遍历所有对象的数组。如果找不到任何对象,return false

-(BOOL)containsObjects:(NSArray*)arrObj
{
    BOOL result = YES;
    for(CustomObject *cObj in arrObj) {
        result = [mainArray containsObject:cObj];
        if(result == NO) {
            break;
        }
    }

    return result;
}