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 | | — | — |