как добавить в userdefualt номер (swift4) - PullRequest
0 голосов
/ 19 ноября 2018

Я устанавливаю userdefualt в oneV, затем я хотел бы добавить к этому числу в twoV.Поэтому я хочу распечатать userdefualt в два V, который должен быть равен 3.

    class oneV: UIViewController {
var counter = 1
let userDefaults = UserDefaults.standard

override func viewDidLoad() {
    super.viewDidLoad()
     userDefaults.set(counter, forKey: "counterValue")
}
}
 class twoV: UIViewController {
var counter = 2
let userDefaults = UserDefaults.standard
override func viewDidLoad() {
    super.viewDidLoad()
     userDefaults.set(counter, forKey: "counterValue")

    print(counterValue)
}
}

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

В классе дваV вы заменяете значение на 2, если хотите установить значение 3, вам нужно добавить 2 к существующему значению

//Retrieving value from UserDefault
let counter = UserDefaults.standard.integer(forKey: "counterValue")  + counter   

//Saving   
UserDefaults.standard.set(counter, forKey: "counterValue")

//print 
print(UserDefaults.standard.integer(forKey: "counterValue"))
0 голосов
/ 19 ноября 2018

Это решение сначала сохраняет добавленное значение в пользовательские настройки по умолчанию, а затем печатает его.

class twoV: UIViewController {

    var counter = 2
    let userDefaults = UserDefaults.standard

    override func viewDidLoad() {

        super.viewDidLoad()

        let intNumber = userDefaults.integer(forKey: "counterValue")

        userDefaults.set(intNumber + counter, forKey: "counterValue")

        print(userDefaults.integer(forKey: "counterValue"))
    }

}
...