Avatar
Avatar
kebo
以下のように ContentViewF 側で MidViewAonDisappear を生やした場合,iOS 16.5, iOS 15.0 時点では condition が変わっても呼ばれることはありませんが,iOS 14.0.1 では呼ばれてました.なので MidViewA が死ぬというのは iOS 14.x 時代の記憶だったようです. struct ContentViewF: View { ... var body: some View { VStack { MidViewA(condition: condition).onDisappear { print("onDisappear") } Button { condition.toggle() } label: { Text("toggle") } } } } ただ,MidViewA@State がリセットされることはなかったので,onDisappear が呼ばれる条件と @State がリセットされる条件はそもそも違っていたみたいですね.
まあ↑みたいな例もあるので,onDisappear/onAppear が起きることと State が維持されることは一致することが多いというだけで必ず一致するとは言い切れないかもしれないですが...