aka*_*aru 2 iphone multithreading ipad ios
我正在使用串行队列来进行视频处理的后台线程(块).我想更新UI组件(特别是进度条).我发现虽然我可以与UI进行交互,但我的进度条没有通过调用setProgress(从块调用)更新,直到线程完成.
dispatch_queue_t dispatch_queue = dispatch_queue_create("somequeue", NULL);
[somebody doSomethingOnQueue:dispatch_queue usingBlock:^{
progressBar.progress = someFloat; //does not update
}];
Run Code Online (Sandbox Code Playgroud)
您应该更新主调度队列上的UI:
[somebody doSomethingOnQueue:dispatch_queue usingBlock:^{
…
dispatch_async(dispatch_get_main_queue(), ^{
progressBar.progress = someFloat;
});
}];
Run Code Online (Sandbox Code Playgroud)