@MainActor class MortgageCalculatorViewModel: ObservableObject {
// MARK: - Published Properties (Your Data Model)
@Published public var homeValue: Double = 500_000 // Publishing changes from background threads is not allowed; make sure to publish values from the main thread (via operators like receive(on:)) on model updates.
@Published public var downPaymentPercentage: Double = 3.5 / 100
@Published public var isDownPaymentDollarAmount = false
@Published public var downPaymentDollarAmount: Double = 17500
@Published public var interestRate: Double? = 6.207
@Published public var loanTerm: Double = 30.0
@Published public var startDate = Date().startOfNextMonth
@Published public var propertyTax: Double = 5000
@Published public var pmiRate: Double = 1.5 / 100
@Published public var homeInsurance: Double = 968 / 12
@Published public var homeInsurance2: Double = 968 / 12
@Published public var monthlyHOA: Double = 0
@Published public var otherMonthlyPayment: Double = 0
@Published public var otherInsurance: Double = 0
@Published public var estimatedMonthlyPayment: Double = 0
@Published public var showPopup = false
struct MortgageCalculatorView: View {
@ObservedObject var viewModel: MortgageCalculatorViewModel
How do I resolve this issue?