Ответ 1
Массивы гарантированно повторяются в порядке объектов. Итак:
NSUInteger index = 0;
for(NSString *string in anArray)
{
NSLog(@"%@ is at index %d", string, index);
index++;
}
В качестве альтернативы используйте перечислитель блоков:
[anArray
enumerateObjectsUsingBlock:
^(NSString *string, NSUInteger index, BOOL *stop)
{
NSLog(@"%@ is at index %d", string, index);
}];