Avatar
Avatar
tanako8031
ありがとうございます、やはり明示的なActorの付与が必要なんですね、Actor Contextの引き継ぎも静的に解決されるものとは理解できていませんでした..仰るとおり1ホップ(1フレ)増えると思うのですがAPIリクエスト完了の都度位のオーバーヘッドなら許容できそうと思いTask { @MainActor in で回避しています。 (edited)
オーバーヘッドと言っても、メインスレッドで実行したい処理であれば必要なことですし、従来 DispatchQueue.main.async{ } してたのと変わらないと思いますので、気にする必要はないと思います。 ただ、個人的に↓のようなケースは気になってます。従来はなかった遅延だと思うので、 Task.init の中でボタン無効化したりしていたら、それまでに割り込まれる可能性がありますし。 func buttonPressed(sender: UIButton) { Task { ... } } (edited)