Swift6からSwift Concurrencyにおけるコンパイル時のデータ競合のチェックが厳しくなり、今まで動いていたコードがコンパイルエラーになる可能性があります。
Xcodeでは、Strict Concurrency Checkという機能が用意されており、Swift5の時点から段階的に移行できるようになっています。
Strict Concurrencyに完全に対応するためには全てのUIViewControllerをMainActorに隔離する必要があり、粛々と対応を進める中…
人類は思い出した。deinitはactor隔離に対応していないということを。
どうしてもdeinit内で行いたい処理があるんだがどうしようか?公式で対応する予定はあるんだろうか?
——などとやっているうちに、半年が過ぎた!
その間、特に何もなかった!
今回の発表では、UIViewControllerのdeinitのせいでStrict Concurrency対応に困った場合、どのような代替案があるのか、将来性はあるのか、についてお話しします。
俺たちの冒険はまだまだ続くのか?Kiichi先生の次回作にご期待ください!