28 votes

L'énumération rapide en Objective-C garantit-elle l'ordre d'itération ?

Puis-je m'attendre à ce qu'il aille du début à la fin d'un tableau dans l'ordre ? Je n'ai rien trouvé dans la documentation à ce sujet.

c'est-à-dire qu'il est

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

va toujours s'imprimer de la même manière que

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

48voto

Georg Fritzsche Points 59185

De la pomme Documentation Objective-C sur l'énumération rapide :

Pour les collections ou les énumérateurs qui ont un ordre bien défini - comme NSArray ou NSEnumerator instance dérivée d'un tableau - l'énumération se déroule dans cet ordre, de sorte que le simple fait de compter les itérations vous donnera l'indice approprié dans la collection si vous en avez besoin.

0voto

Une fois de plus, j'ai trouvé la réponse juste après avoir posté mon message. Mon ancienne référence ne mentionnait pas l'ordre d'itération, mais celle en ligne le faisait. Le tableau est en effet itéré dans l'ordre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X