У меня есть текстовое поле, в котором я могу ввести двойное число, и оно будет отображаться на ярлыке во втором контроллере вида.Это значение будет сохранено с использованием UserDefaults.Я изо всех сил пытаюсь найти, что делать, чтобы иметь возможность затем использовать это сохраненное значение и увеличить его с новым значением, введенным в текстовое поле.т.е. в первый раз я ввожу 5;на этикетке отображается 5. 2-й раз я ввожу 3;на этикетке отображается 8.
Я пытался использовать приведенную ниже функцию if, но это не сработало.Когда я вводю значение во второй раз, значение метки возвращается к 0, если затем снова введите значение, метка обновляется с введенным значением.
func saveOne() {
UserDefaults.standard.set(weekOneTotal, forKey: "WEEKONE")
secondScreen.weekOneText = String(UserDefaults().double(forKey: "WEEKONE"))
}
func addCorrectSpend () {
guard let addAmount = convertAmount(input: enterField.text!) else {
print("Invalid amount")
return
}
if UserDefaults().double(forKey: "WEEKONE") == 0 {
weekOneTotal += addAmount
secondScreen.weekOneText = String(UserDefaults().double(forKey: "WEEKONE"))
saveOne()
}
else if UserDefaults().double(forKey: "WEEKONE") > 0 {
let defaultOne = UserDefaults.standard
defaultOne.set(defaultOne.double(forKey: "WEEKONE")+addAmount, forKey: "WEEKONE")
secondScreen.weekOneText = String(UserDefaults().double(forKey: "WEEKONE"))
saveOne()
}
}