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

How to find If array contains two or more objects

我正在尝试实现包含两个或更多参数的 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 is (
    1,
    2,
    3,
    4
)
if ([myArray containsObject:@"1"] || [ myArray containsObject: @"2"]) {
    NSLog(@"if");
} else {
   NSLog(@"else");
}

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

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

    return result;
}

你可以检查数组的子集

 NSArray *arry1= [NSArray arrayWithObjects:@"1",@"2",@"3",@"4", nil];
        NSArray *arry2= [NSArray arrayWithObjects:@"1",@"2", nil];

        NSSet *set1 = [NSSet setWithArray:arry1];
        NSSet *set2 = [NSSet setWithArray:arry2];

        if ([set2 isSubsetOfSet:set1])
        {
            NSLog(@"array1 contains all elements of array 2");
        }else{
            NSLog(@"array1 does not contains all elements of array 2");
        }