For Loop为我做重复的变量检查

时间:2011-02-27 17:40:39

标签: xcode loops for-loop task

NSArray *test = [NSArray arrayWithObjects:@"22", @"3", @"22", @"5", @"1", @"0", @"2", nil];

NSArray *test2 = [NSArray arrayWithObjects:@"21", @"2", @"20", @"5", @"1", @"9", @"2", nil];

for(int i = 0; i < 7; i++) {

   if ([test objectAtIndex:i] == [test2 objectAtIndex:i]); {

testVariable = testVariable + 1; 
    }

}    

NSLog(@"%i", testVariable);    

我尝试了上面的代码来测试变量的比较,但是当它返回3时它返回7.我是否需要以某种方式检索并将每个数组对象存储在局部变量中并将它们相互比较?或者我可以像上面尝试的那样做更直接的事情。 数组非常有趣。 :)

更新:

让它与NSInteger一起工作.. :) 猜猜我在比较对象而不是之前的实际整数。

2 个答案:

答案 0 :(得分:2)

您可以使用预处理器

#define variable(name,number) {name##number}

以及稍后的循环

for (int a = 1; a <= 53; a++) {    
    if ((variable(taken,a) == 2) && (variable(hidden,a) == 2)) {
        //Do something
    } 
}

答案 1 :(得分:1)

简单的答案是不要使用不同的变量。请改用集合或数组。然后你可以:

if (taken[a] == 2 && hidden[a] == 2) {
    ...
}

当您发现自己将数字后缀放在相同类型和前缀的变量上时,请考虑使用数组。