Я бы предложил вам добавить точку останова в addAction
и подтвердить, какое из этих двух значений неверно.Исходя из того, что вы поделились с нами, предположительно currentCount
- это не то, что вы думаете.
Единственный незначительный логический разрыв, который я вижу здесь, это то, что на viewDidLoad
вы предполагаетечто amountToAdd
и currentCount
оба 0
, хотя технически возможно для того, кто бы ни представил, этот контроллер представления мог сбросить одно из этих значений (возможно, неправильно) между временем, когда был создан экземпляр контроллера представления, и когда он был загружен.
Чтобы разрешить это логическое разъединение, вы можете явно использовать эти переменные, а не 0:
override func viewDidLoad() {
super.viewDidLoad()
currentCountLabel.integerValue = currentCount
amountToAddTextField.integerValue = amountToAdd
}
Или, если вы хотите, чтобы загрузка контроллера представления сбрасывала представление, тогда используйте оба viewDidLoad
и clearAction
вызывают некоторую обычную процедуру:
override func viewDidLoad() {
super.viewDidLoad()
resetValues()
}
@IBAction func clearAction(_ sender: Any) {
resetValues()
}
private func resetValues() {
currentCount = 0
amountToAdd = 0
currentCountLabel.integerValue = 0
amountToAddTextField.integerValue = 0
}
Если у вас есть какой-то другой код, который представляет этот контроллер представления, я бы посоветовал вам проверить это на наличие всего, что могло быть установлено (возможно, неправильно)currentCount
.
Или установите точку останова в viewDidLoad
и добавьте часы к значению, которое не соответствует вашим ожиданиям.Например, я control - щелкнул currentCount
в представлении переменных и выбрал «Watch currentCount», и теперь он будет останавливаться при каждом изменении этого значения.