I have this simple example app. Why deinitializer is not being called on a Observable Object view model after the next screen is presented?
import SwiftUI
@main
struct TestApp: App {
var body: some Scene {
WindowGroup {
ContentView(contentViewModel: ContentViewModel())
}
}
}
class ContentViewModel: ObservableObject {
deinit {
print("deinit")
}
}
struct ContentView: View {
@ObservedObject var contentViewModel: ContentViewModel
@State var toPresentNext: Bool = false
var body: some View {
Text("Hello, world!")
.padding()
.onTapGesture {
toPresentNext = true
}.fullScreenCover(isPresented: $toPresentNext) {
ContentView1()
}
}
}