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) 石川 洋資 西山 勇世 技術評論社 2017-02-07 売り上げランキング : 25583 Amazonで詳しく見る by G-Tools |
コメント