💡

viewDidLoadなどのoverrideするメソッドでasync,awaitを使うやり方

2023/02/04に公開

普通にやるとviewDidLoadの関数にasyncを付けてやればいいように見えるが


override func viewDidLoad() {
        super.viewDidLoad()
        // 非同期処理
}

こうなると当然asyncが付くことによって、override先で指定していないメソッドになるのでエラーになる。

### 解決策

Taskで囲む


override func viewDidLoad() {
       super.viewDidLoad()
   Task {
       // 非同期処理
   }
}

参考サイト

https://blog.mayflower.de/11079-async-await-swift.html

Discussion