gpt4 book ai didi

ios - 使用 UserDefaults 保存和检索 bool 值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:26 25 4
gpt4 key购买 nike

我正在尝试将 bool 值从 UISwitch 保存到 UserDefaults,并在另一个 View 中检索它。但是,我已经尝试遵循多个教程和堆栈答案,但似乎都没有用。

我是这样保存的:

class SettingsViewController: UITableViewController {

@IBOutlet weak var soundSwitchOutlet: UISwitch!

@IBAction func soundSwitch(_ sender: UISwitch) {

UserDefaults.standard.set(soundSwitchOutlet.isOn, forKey: "sound")

}

这就是我试图在另一个 View 中检索它的方式:

if let savedValue = UserDefaults.standard.bool(forKey: "sound") {
boolValue = savedValue
}

//this is inside viewDidLoad and "boolValue" was declared outside viewDidLoad//

出于某种原因,这段代码会给我错误,而且我尝试过的所有方法都没有奏效。如何将 bool 值保存到 UserDefaults 并在另一个 View 中检索它?

编辑:我想我修复了第一部分。但是,我检索 bool 值的方式似乎是完全错误的。另外:没有其他 stackExchange 答案能回应我的要求,至少不会很快。

最佳答案

正如 Leo 在评论中提到的,bool(forKey 返回一个非可选的 Bool。如果键不存在,则返回 false

就是这样

boolValue = UserDefaults.standard.bool(forKey: "sound")

不需要按照其他答案中的建议调用 synchronize()。该框架定期更新用户默认数据库。

关于ios - 使用 UserDefaults 保存和检索 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com