[Swift3] URLリクエストのコールバックでUIの変更が反映されるまでかなり時間がかかる原因とその対処

URLリクエストを実行してコールバックでレスポンスが返ってきてからUIの変更が反映されるまでかなり時間がかかっていました。

原因を調べてみたら、時間がかかっていたのはUIの変更はメインスレッドで行われるため、メインスレッドの処理が終わるのを待っているためでした。

メインスレッドの処理をバックグラウンドで実行させるようにすれば解決しました。 コード例は以下になります。

 DispatchQueue.main.async {
                    self.myLabel.text = “hogehoge”
                }

Related Contents

Pickup Contents