0

私は、UIを更新するためにクロージャから出る必要があるたびにNSNotficiationCenterに通知をポストしていましたが、ちょっと面倒なことが起きて、より良い方法。クイック検索後、私はあなただけで、このようなメインキューにディスパッチできることを発見した:このアプローチは確かに少ないコードであるバックグラウンドスレッドからUIを更新する最も一般的な方法

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

が、それは読みやすさを向上させているのだろうか。ですから、私の質問は、スウィフトでバックグラウンドスレッドからUIを更新するための「方法」と考えられるものは何ですか?

+0

私はこれを「行くための一つの方法」(少なくともAPI賢明な)があると思うが、何をここで見せていることはかなり一般的であるしないでください。 gcdコールをラップして構文的な砂糖を追加するオープンソースのヘルパーがいくつかあります。 [こちらはそのうちの一つです] – Alladinian

+0

これは通知よりも安価で、はるかに明確な – PeejWeej

答えて

2

これは移動するための方法である:

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 
    } 
} 
+0

もこれが@PEEJWEEJのように安いと考えています。これと一緒に行こう。 – Fr4nc3sc0NL

関連する問題