Avatar
さっき書きかけたんですが、
5:34 AM
X画面(XViewと、それがObservedObjectで見るXViewModel)とY画面(YViewとYViewModel)を独立して作ってて、X画面からY画面へNavigationLinkで遷移するようにしてたんですね
5:36 AM
で、XViewModelがまあまあ無駄にメモリ食う感じのするものを持っていたので、XViewが表示されてるとき以外はXViewModelの中でそれを持つのをやめようと思って、XViewのonDisappearのタイミングでXViewModelのそのでかいやつを消すようにしたんです
5:37 AM
そしたら、X画面からY画面へ遷移したあとにXViewのonDisappearが呼ばれて(ここまでは想定通り)、それによりXViewModelのPublishedな変数を更新したら、X画面も作り直されて、その結果、NavigationLinkのある部分が消えて、Y画面にいることができなくなり、X画面へ戻るという挙動に