Вы должны не делать паузы в iOS. Если вы не можете завершить свою обработку быстро и синхронно, вы должны выйти из цикла и выйти из метода, содержащего цикл.
Чтобы завершить обработку вашего цикла, ваше приложение должно начать другую итерацию цикла позже, например, с помощью обратного вызова из делегата завершения, таймера, executeselector или очереди операций. Последние методы могут включать задержку. Для этого вам нужно знать, как неструктурировать циклы и как сохранить локальное состояние. Выход из цикла с обратным вызовом на месте примерно эквивалентен отложенному оператору GOTO.
Чтобы вызов NSTimer был полезен при обработке цикла, вам необходимо выйти из цикла и метода, поскольку только тогда будет вызываться селектор обратного вызова таймера.