Гарантирует ли быстрое перечисление в Objective-C порядок итерации? - PullRequest
33 голосов
/ 06 мая 2010

Можно ли ожидать, что он будет идти от начала массива до конца по порядку?В документах ничего не могу найти по этому поводу.

, то есть

for (id val in array)
{
   NSLog(@"%@", val);
}

всегда будет печатать так же, как

for (int i = 0; i < [array count]; ++i)
{
   NSLog(@"%@", [array objectAtIndex:i]);
}

Ответы [ 2 ]

59 голосов
/ 06 мая 2010

Из яблок Документация Objective-C по быстрому перечислению:

Для коллекций или перечислителей, имеющих четко определенный порядок, таких как NSArray или экземпляр NSEnumerator, производный от массива, перечисление выполняется в этом порядке, поэтому простой подсчет итераций даст вам нужный индекс в коллекции, если вам это нужно .

0 голосов
/ 06 мая 2010

Еще раз я нашел ответ сразу после публикации. В моей старой ссылке не упоминался порядок итераций, но в онлайн упоминалось. Массив действительно повторяется по порядку.

...