Avatar
そうそうそれを言ってます。
2:08 AM
あ違う。sink の中がじゃないや、 sink の中で Task を作った中が、というのがぼくの言ってるやつ。
2:11 AM
うん?やっぱり同じことを言ってる? つまり、 sink の中は( receive(on:) してなかったら)メインスレッドで動く保証はないと思ってた(実際どうなんだろう 🤔 )んだけど、そこから作った Task には @MainActor が効いてくるのかと思って。
2:13 AM
ちなみに、ViewControllerの外側にグローバル関数作っておいて、その中から Task を作るようにして、この sink の中でそのグローバル関数を呼んでも、その Task 内(の、await後)はメインスレッドで動いていなかった。そりゃそうだろなとは思いましたが。
2:18 AM
だからやっぱり、スコープの外側っていう言い方が合ってるかどうかわからないけど、例えば private 変数にアクセスできるかどうかと同じような感じで、実行時のコンテキストには関係なくて、コードの外側にある actor が引き継がれるのかなという結論に落ち着きつつあります。