Вы можете сделать в свойстве AppDeledate, например
@property (readwrite) BOOL isOperationQueueMustHold;
и затем в цикле работы добавьте этот код:
while (delegate.isOperationQueueMustHold == YES)
{
sleep(1);
}
это прекратит тяжелую работу, пока пользовательский интерфейс будет обновлен.