【Swift】DispatchQueueで遅延処理をキャンセルする方法!DispatchWorkItem

この記事からわかること

  • SwiftDispatchQueueとは?
  • DispatchQueueを使った遅延処理
  • 遅延処理をキャンセルする方法

index

[open]

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

みんなの誕生日

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

posted withアプリーチ

環境

DispatchQueueで仕込んだ遅延処理をキャンセルする方法

SwiftのDispatchQueueで一定時間後に遅延(非同期)処理をキャンセルさせるにはDispatchWorkItemを保持しておき、cancelメソッドを呼び出すだけです。これで5秒後に実行予定だった処理を行わないようにさせることができます。

var workItem = DispatchWorkItem {
    print("遅延処理")
}
// 5秒後に実行
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 5, execute: workItem)
// 2秒後にキャンセル
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
    print("キャンセル")
    workItem.cancel()
}

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

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

searchbox

スポンサー

ProFile

ame

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

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

New Article

index