从后台线程更新UI的最佳/最常用方法

时间:2016-04-18 15:04:13

标签: ios swift multithreading user-interface nsnotificationcenter

每当我需要退出关闭以更新UI时,我就会向NSNotficiationCenter发布通知,但这开始变得有点乏味,让我想知道是否有更好的方法。快速搜索后,我发现你可以像这样调度到主队列:

dispatch_async(dispatch_get_main_queue()) {
    // update some UI
}

这种方法确实代码较少,但我不知道它是否提高了可读性。所以我的问题是,什么被认为是在Swift中从后台线程更新UI的“方法”?

1 个答案:

答案 0 :(得分:3)

这是要走的路:

let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
   // do some background task
   dispatch_async(dispatch_get_main_queue()) {
      // update some UI
   }
}