在 Swift 中保存整数变量
Saving an integer variable in Swift
我试图在 swift/xcode 中保存一个整数变量,这样当用户打开应用程序时,他们递增的数字保持不变(已保存)。到目前为止,这段代码没有运气。当我重新启动应用程序时,这个数字总是回到零。下面的按钮只是将 smoke 变量加 1,我想保存该数据。
感谢您的宝贵时间。
let defaults = UserDefaults.standard
var smoke = 0
@IBAction func incrementSmoke(_ sender: UIButton) {
smoke+=1
defaults.set(smoke, forKey: "smoke")
numDaysLabel.text = String(defaults.integer(forKey: "smoke"))
}
Swift 4
设置值
UserDefaults.standard.set("Value", forKey: "Key") //setString
获取
UserDefaults.standard.string(forKey: "Key") //getString
移除
UserDefaults.standard.removeObject(forKey: "Key")
在你的viewDidLoad
smoke = UserDefaults.standard.string(forKey: "smoke") ?? 0
然后
numDaysLabel.text = "\(smoke)"
您可以使用这一行代码从 UserDefaults
获取数据。如果有数据则返回,或者 returns 0.
let smoke = UserDefaults.standard.object(forKey: "smoke") ?? 0
在适当的位置,您应该使用 UserDefaults
中存储的值初始化 smoke
属性。例如,您可能想在 viewDidLoad
中执行此操作,或者您可以直接在声明 属性.
的初始化程序中执行此操作
var smoke = UserDefaults.standard.integer(forKey: "smoke")
@IBAction func incrementSmoke(_ sender: UIButton) {
smoke += 1
UserDefaults.standard.set(smoke, forKey: "smoke")
numDaysLabel.text = String(smoke)
}
注integer(forKey:)
will return 0
by default if there is no value stored in your UserDefaults
already for that key. If you want to set an initial value for the key, register(defaults:)
。
注意,因为你的值应该是一个整数,你最好使用 integer(forKey:)
而不是 object(forKey:)
这样你就不必处理可选的 / Any
.
我试图在 swift/xcode 中保存一个整数变量,这样当用户打开应用程序时,他们递增的数字保持不变(已保存)。到目前为止,这段代码没有运气。当我重新启动应用程序时,这个数字总是回到零。下面的按钮只是将 smoke 变量加 1,我想保存该数据。
感谢您的宝贵时间。
let defaults = UserDefaults.standard
var smoke = 0
@IBAction func incrementSmoke(_ sender: UIButton) {
smoke+=1
defaults.set(smoke, forKey: "smoke")
numDaysLabel.text = String(defaults.integer(forKey: "smoke"))
}
Swift 4
设置值
UserDefaults.standard.set("Value", forKey: "Key") //setString
获取
UserDefaults.standard.string(forKey: "Key") //getString
移除
UserDefaults.standard.removeObject(forKey: "Key")
在你的viewDidLoad
smoke = UserDefaults.standard.string(forKey: "smoke") ?? 0
然后
numDaysLabel.text = "\(smoke)"
您可以使用这一行代码从 UserDefaults
获取数据。如果有数据则返回,或者 returns 0.
let smoke = UserDefaults.standard.object(forKey: "smoke") ?? 0
在适当的位置,您应该使用 UserDefaults
中存储的值初始化 smoke
属性。例如,您可能想在 viewDidLoad
中执行此操作,或者您可以直接在声明 属性.
var smoke = UserDefaults.standard.integer(forKey: "smoke")
@IBAction func incrementSmoke(_ sender: UIButton) {
smoke += 1
UserDefaults.standard.set(smoke, forKey: "smoke")
numDaysLabel.text = String(smoke)
}
注integer(forKey:)
will return 0
by default if there is no value stored in your UserDefaults
already for that key. If you want to set an initial value for the key, register(defaults:)
。
注意,因为你的值应该是一个整数,你最好使用 integer(forKey:)
而不是 object(forKey:)
这样你就不必处理可选的 / Any
.