如何在“for(项目中的id项目)”objective-c循环中获取数组索引?

时间:2011-04-28 00:04:05

标签: objective-c

如何在" for(项目中的id项目)"中获取数组索引?在objective-c中循环?例如,对于NSArray或NSMutableArray。

例如:

for (id item in items) {
    // How to get item's array index here

}

2 个答案:

答案 0 :(得分:87)

或者,您可以使用-enumerateObjectsUsingBlock:,它将数组元素和相应的索引作为参数传递给块:

[items enumerateObjectsUsingBlock:^(id item, NSUInteger idx, BOOL *stop)
{
    …
}];

Bonus:在数组元素上并发执行块操作:

[items enumerateObjectsWithOptions:NSEnumerationConcurrent
    usingBlock:^(id item, NSUInteger idx, BOOL *stop)
{
    …
}];

答案 1 :(得分:44)

我能想到的只有:

NSUInteger count = 0;
for (id item in items)
{
    //do stuff using count as your index
    count++;
}

Bad Way

或者,您可以使用indexOfObject:的{​​{1}}消息来获取索引:

NSArray