【发布时间】:2017-02-27 05:02:31
【问题描述】:
我正在尝试将 bool 值从 UISwitch 保存到 UserDefaults,然后在另一个视图中检索它。但是,我尝试了多个教程和堆栈答案,但似乎没有一个有效。
这就是我保存它的方式:
class SettingsViewController: UITableViewController {
@IBOutlet weak var soundSwitchOutlet: UISwitch!
@IBAction func soundSwitch(_ sender: UISwitch) {
UserDefaults.standard.set(soundSwitchOutlet.isOn, forKey: "sound")
}
这就是我试图在另一个视图中检索它的方式:
if let savedValue = UserDefaults.standard.bool(forKey: "sound") {
boolValue = savedValue
}
//this is inside viewDidLoad and "boolValue" was declared outside viewDidLoad//
由于某种原因,这段代码给了我错误,而我尝试过的所有方法都没有奏效。如何将 bool 保存到 UserDefaults 并在另一个视图中检索它?
编辑:我想我修复了第一部分。但是,我检索布尔值的方式似乎完全错误。另外:没有其他 stackExchange 答案可以响应我的要求,至少不会很快。
【问题讨论】:
-
UserDefaults.standard.set(sender.isOn, forKey: "sound") -
为键读取 bool 会返回一个 Bool(非可选)
boolValue = UserDefaults.standard.bool(forKey: "sound")
标签: ios swift nsuserdefaults