Si la vitesse pure est la seule préoccupation (c'est-à-dire que vous créez un moteur de rendu où chaque petit cycle CPU compte), le moyen le plus rapide de parcourir n'importe lequel des objets NSCollection (à partir d'iOS 5.0 ~ 6.0) est les différentes méthodes "enumerateObjectsUsingBlock". Je ne sais pas pourquoi, mais j'ai testé et il semble que ce soit le cas...
J'ai écrit un petit test créant des collections de centaines de milliers d'objets ayant chacun une méthode qui fait la somme d'un tableau simple d'entiers. Chacune de ces collections a été forcée de réaliser les différents types d'itération (boucle for, énumération rapide, makeObjectsPerformSelector et enumerateObjectsUsingBlock) des millions de fois, et dans presque tous les cas, les méthodes "enumerateObjectsUsingBlock" ont largement remporté les tests.
La seule fois où cela n'était pas vrai, c'était lorsque la mémoire a commencé à se remplir (lorsque j'ai commencé à l'exécuter avec des millions d'objets), après quoi il a commencé à perdre face à "makeObjectsPerformSelector".
Je suis désolé de ne pas avoir pris une capture d'écran du code, mais c'est un test très simple à réaliser, je vous recommande vivement de l'essayer et de voir par vous-même. :)