Итак, у меня есть представление с несколькими текстовыми полями. Я пытаюсь придерживаться Combine и SwiftUI, поскольку в настоящее время я изучаю, как это работает.
Я заметил, что если я переключу первых респондентов между различными текстовыми полями. Я не получаю willSet или didSet, и мои объекты не обновляются. Эти значения кажутся только вызванными, если я нажму кнопку «возврат». Мне интересно, чего мне не хватает.
По сути, я пытаюсь найти эквивалент ниже, я думаю. Любая помощь приветствуется.
optional func textFieldDidEndEditing(_ textField: UITextField)
Переменная объединения:
@Published internal var taxRate: Double = 0 {
willSet(newValue) {
UserDefaults.standard.set(newValue, forKey: ARCHUserDefaultKeys.taxRate)
UserDefaults.standard.synchronize()
}
didSet {
recaluateValues()
}
}
TextField:
TextField("Tax", value: $receiptViewModel.taxRate, formatter: ARCHUtilities.percentageFormatter)
.textFieldStyle(RoundedBorderTextFieldStyle())
.keyboardType(UIKeyboardType.numbersAndPunctuation)
.foregroundColor(Color.gray)
.multilineTextAlignment(TextAlignment.center)
.minimumScaleFactor(0.5)
.frame(width: 75)