Если единственной проблемой является чистая скорость (т. Е. Вы создаете какой-то движок рендеринга, в котором учитывается каждый крошечный цикл ЦП), то самым быстрым из всех возможных вариантов NSCollection (с iOS 5.0 ~ 6.0) является различный способ. методы "enumerateObjectsUsingBlock". Я понятия не имею, почему это так, но я проверил это, и, похоже, это так ...
Я написал небольшой тест для создания коллекций из сотен тысяч объектов, каждый из которых имеет метод, который суммирует простой массив целых чисел. Каждая из этих коллекций была вынуждена выполнять различные типы итераций (для цикла, быстрого перечисления, makeObjectsPerformSelector и enumerateObjectsUsingBlock) миллионы раз, и почти во всех случаях методы enumerateObjectsUsingBlock легко выигрывали в ходе испытаний. *
Единственный раз, когда это не было правдой, это когда память начала заполняться (когда я начал запускать ее с миллионами объектов), после чего она начала проигрывать "makeObjectsPerformSelector".
Извините, я не сделал снимок кода, но это очень простой тест, я настоятельно рекомендую попробовать и убедиться в этом сам. :)