Существует метод предотвращения остановки пользовательского интерфейса, например.таймеры тоже.Это более или менее единственная причина, по которой мы запускаем циклы (ну, это не совсем так, но в вашем случае это так).
Просто вставьте это в вашу функцию, и все будет работать:
while(pauseFunction)
{
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1f]];
}
Примечание: все, что запланировано с помощью runloop, продолжает работать, это пользовательский интерфейс, таймеры, сеть и т. Д. Стр.