两个数组在同一索引处具有特定对象

时间:2013-12-11 14:57:10

标签: objective-c nsarray

如何在Objective-C中检查两个数组是否有一个特定对象在一个公共索引处不相关?

if ([[Array1 objectAtIndex:SameIndex] containsObject:String1] && [[Array2 objectAtIndex:SameIndex] containsObject:String2]) {

    }

当我想到它时,我可能不得不使用循环而不是if语句。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以在NSArray上使用一些方法来查找对象,例如:

[Aarray1 indexOfObject:...]
[Aarray1 indexOfObjectIdenticalTo:...]
[Aarray1 indexOfObjectPassingTest:...]

之后只需确保您有一个索引,如果索引存在,您就知道有一个对象。你只需稍微修改你的问题中的代码。

答案 1 :(得分:1)

isEqual 方法允许您比较两个对象。你可以做类似的事情:

NSArray *array1 = @[[NSNumber numberWithInteger:10],
                    [NSNumber numberWithInteger:20],
                    [NSNumber numberWithInteger:30]];

NSArray *array2 = @[[NSNumber numberWithInteger:60],
                    [NSNumber numberWithInteger:70],
                    [NSNumber numberWithInteger:80]];

NSNumber *object1 = [NSNumber numberWithInteger:20];
NSNumber *object2 = [NSNumber numberWithInteger:70];

NSUInteger sameIndex = 1;
if ([[array1 objectAtIndex:sameIndex] isEqual:object1] && [[array2 objectAtIndex:sameIndex] isEqual:object2]) {
    // Do something
    NSLog(@"Validation passed!");
}

这会将存储在array1和array2中的索引 sameIndex 的对象分别与object1和object2进行比较。

编辑:我将我的代码段更改为一个工作示例,以便您更好地理解。