将数组的每个对象与每个其他对象进行比较

时间:2011-11-12 16:53:47

标签: objective-c ios cocoa-touch comparison nsarray

我正在尝试像这样创建一个if语句:

if ([[records objectAtIndex:ANYPAGE] valueForKey: @"marbles"] intValue] == 
    [[[records objectAtIndex:ANYPAGE] valueForKey:@"marblesneeded"] intValue]) 
{
    // Some Code Goes Here. . .
}

我希望能够一次检查阵列的所有条目中的“弹珠”和“弹珠是否”是相同的。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:3)

尝试这样的事情 -

NSArray * marblesArray = [records valueForKey: @"marbles"];
NSArray * marblesNeededArray = [records valueForKey: @"marblesneeded"];

if([marblesArray isEqualToArray:marblesNeededArray]){
// do something
}

答案 1 :(得分:1)

您可以编写的任何代码将直接或间接地循环遍历数组:

BOOL allEqual = True;
    for(int i=0; i< [records count] ; i++){
        if ([[records objectAtIndex: i] valueForKey: @"marbles"] intValue] != [[[records objectAtIndex: i]          valueForKey:@"marblesneeded"] intValue]) {
            allEqual = False;
            break;
        }
    }
//do what ever using allEqual