【Swift】メインスレッドで処理させる方法

目次

メインスレッドで実行したい場面

UIの処理をするときは、メインスレッドで行う必要がある。

書き方

  • GCDDispatchQueueを利用する
    1
    2
    3
    DispatchQueue.main.async {
    // メインスレッドとして処理される
    }

メインスレッドで実行されているか確認する

1
2
3
4
5
if Thread.isMainThread {
// メインスレッドで実行されている
} else {
// サブスレッドで実行されている
}

GCDとはなにか

  • Grand Central Dispatchの略
  • DispatchQueueというキューによって、OSが優先度や実行スレッドを決めてタスクを実行する仕組み
  • 実行したいブロックを、DispatchQueueに追加するだけで、メインスレッドでOSがよしなに実行してくれる
    • 細かいスレッドの区分を意識しなくて良くなる

参考

Author

Daiki Iijima

Posted on

2021-06-28

Updated on

2024-04-17

Licensed under