我正在使用:
在objective-c中迭代一个NSArrayfor (id object in array1) {
...
}
我现在有另一个array2,我需要使用当前array1的相同索引访问。
我应该使用其他声明吗?
感谢
答案 0 :(得分:7)
您有几种选择:
使用c-style for循环,如Dan建议
以快速枚举方法跟踪单独变量中的当前索引:
int index = 0;
for (id object in array1) {
id object2 = [array2 objectAtIndex:index];
...
++index;
}
使用enumerateObjectsUsingBlock:
方法(OS 4.0 +):
[array1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
id obj2 = [array2 objectAtIndex:idx];
...
}];
答案 1 :(得分:4)
如果需要共享索引,可以使用c样式循环:
for( int i = 0; i < [array1 count]; ++i )
{
id object2 = [array2 objectAtIndex:i];
//Do something with object2
}