我希望代码以var num = 0开头。然后,每按一次num键,num就会增加1。我遇到的问题是,当我切换视图控制器并返回到该控制器时,它将再次从0开始。首次加载时,Num只能从0个领带开始。我想使用userdefults来保存数字,所以无论分数总会增加。
import UIKit
class ViewController: UIViewController {
var num = 0
let defaults = UserDefaults.standard
@IBAction func press () {
num += 1
defaults.set(num, forKey: "num")
}
}
答案 0 :(得分:2)
您必须从}).catchError((e) {
print(e.details); // code, message, details
});
初始化num
。
将此添加到UserDefaults
:
viewDidLoad
或者只是将您的num = defaults.integer(forKey: "num")
行更新为:
var num = 0
在这种情况下,您不能使用var num = UserDefaults.standard.integer(forKey: "num")
变量。
答案 1 :(得分:1)
查看代码
import UIKit
class ViewController: UIViewController {
var num = 0
let defaults = UserDefaults.standard
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
num = defaults.integer(forKey: "num")
print("Value of number from defaults \(num)")
}
@IBAction func press () {
num += 1
defaults.set(num, forKey: "num")
defaults.synchronize()
}
}