如何在Objective-C中检查两个数组是否有一个特定对象在一个公共索引处不相关?
if ([[Array1 objectAtIndex:SameIndex] containsObject:String1] && [[Array2 objectAtIndex:SameIndex] containsObject:String2]) {
}
当我想到它时,我可能不得不使用循环而不是if语句。
非常感谢任何帮助。
答案 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进行比较。
编辑:我将我的代码段更改为一个工作示例,以便您更好地理解。