0
我有一些長時間運行的任務(IE從數據庫中檢索複雜數據),我需要運行任何時候我的視圖出現。我知道,出於性能方面的原因,我想把我長期執行的任務從主線程中解脫出來。我也知道我必須重新啓動主線程才能執行與UI相關的任何操作。我試圖找出完成這個的正確的GCD模式。從我在GCD文檔看,這似乎是「正確」的方式做事情,但我很好奇,如果人們發現了另一種模式,使其更實用:viewWillAppear中長時間運行任務的適當GCD模式是什麼?
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Add long running code for off the UI thread here.
dispatch_async(dispatch_get_main_queue(), ^{
// Add UI updating code here back on the UI thread.
});
});
我基本上說異步(IE不會阻止UI線程)轉到單獨的線程,做一些事情,然後返回到主線程並更新UI。
那就是你是如何做到的。 – Joe