【Swift】DispatchGroupの使い方!複数の非同期処理を完了まで待機する

この記事からわかること

  • SwiftDispatchGroupとは?
  • DispatchQueueを使った非同期処理
  • 複数の非同期処理を完了まで待機するには?

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

DispatchGroupの使い方

SwiftのDispatchQueue非同期処理を実装する際に複数の処理を完了まで待ってから特定の処理を行うにはDispatchGroupを使用します。enterで始まりを通知しleaveで完了、notifyメソッドで全ての非同期処理が完了したことを検知することができます。


let group = DispatchGroup()

for i in 1...3 {

    group.enter()

    DispatchQueue.global().async {

        Thread.sleep(forTimeInterval: 2)

        print("非同期処理 \(i) :完了")
        group.leave()
    }
}

group.notify(queue: DispatchQueue.global()) {
    print("全ての非同期処理が完了")
}
非同期処理 1 :完了
非同期処理 2 :完了
非同期処理 3 :完了
全ての非同期処理が完了

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index