Я использую последовательную очередь для выполнения фонового потока (блока) для обработки видео. Я хочу обновить компонент пользовательского интерфейса (в частности, индикатор выполнения). Я обнаружил, что хотя я могу взаимодействовать с пользовательским интерфейсом, мой индикатор выполнения не обновляется вызовами setProgress (вызываемыми из блока), пока поток не завершится.
dispatch_queue_t dispatch_queue = dispatch_queue_create("somequeue", NULL);
[somebody doSomethingOnQueue:dispatch_queue usingBlock:^{
progressBar.progress = someFloat; //does not update
}];