我试图从UISwitch中为UserDefaults保存一个bool值,并在另一个视图中检索它。但是,我已经尝试了以下多个教程和堆栈答案,而且没有一个可以工作。用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//
是有原因的这段代码是给我错误和我尝试过的东西都没有奏效。如何将一个布尔保存到UserDefaults并在另一个视图中检索它?
编辑:我想我修好了第一部分。但是,我检索布尔值的方式似乎完全错误。另外:没有其他stackExchange答案回应我的要求,至少不是很快。
的可能的复制http://stackoverflow.com/questions/34373668/how-can-i-save-a-boolean-in-nsdefaults-when-a按钮被按下? – 2017-02-27 05:06:00
'UserDefaults.standard.set(sender.isOn,forKey:“sound”)' –
reading bool for key returns a Bool(not optional)'boolValue = UserDefaults.standard.bool(forKey:“sound”)' –