Swift3 非同期処理はOperationQueueで行う

Swiftで非同期処理するときはOperationQueueを使う。

時間のかかる処理はバックグラウンドでやらせておきたい。

let oq = OperationQueue()
oq.addOperation {
    // バックグラウンドで行われる時間のかかる処理(A)
    var sum = 0

    for i in 0..<10 {
        sum += i
        sleep(1)
    }

    // (A)が終わったらメインスレッドで行う処理を追加。
    OperationQueue.main.addOperation {
        // UIに通知するなど
        print("sum: \(sum)")
    }
}
Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)
石川 洋資 西山 勇世

技術評論社 2017-02-07
売り上げランキング : 25583

Amazonで詳しく見る
by G-Tools

コメント

タイトルとURLをコピーしました