I’m new to SwiftUI and I couldn’t understand why the selectedUser
is set to nil on the fullScreenCover block. Note that User is a class from a third party library and doesn’t conform to ObservableObject
struct Users: View {
@State private var isUserSelected = false
@State private var shouldPresentCallScreen = false
@State private var selectedUser: User? = nil {
didSet {
isUserSelected = selectedUser != nil
shouldPresentCallScreen = isUserSelected
}
}
var body: some View {
UserListView(
onUserSelected: { user in
//user is not nil here.
selectedUser = user
}
)
.fullScreenCover(isPresented: $shouldPresentCallScreen) {
//shouldPresentCallScreen is false and
//selectedUser is null here.
UserDetail(user: selectedUser)
}
}
}