class ObservableFormViewModel: ObservableObject {
@Published var isSubmitAllowed: Bool = true
@Published var username: String = ""
@Published var password: String = ""
var somethingElse: Int = 10
}
var form = ObservableFormViewModel()
let formSubscription = form.$isSubmitAllowed.sink { _ in
print("Form changed: \(form.isSubmitAllowed) \"\(form.username)\" \"\(form.password)\"")
}
form.isSubmitAllowed = false
form.isSubmitAllowed = false
form.isSubmitAllowed = false
The output is:
Form changed: true "" ""
Form changed: true "" ""
Form changed: false "" ""
Form changed: false "" ""
My question is:
- why
trueoutput comes 2 whilefalseonly 2? - any better way to remove duplicate?