我有一个应将UISwitches默认设置为关闭的应用程序。开关正常运行,应用程序记住UISwitches的设置状态,但默认情况下为打开位置(绿色)。我需要它们默认为关闭位置(灰色)。我知道这与布尔值有关,但是如何在当前的代码中实现呢?包含代码:谢谢!
override func viewDidLoad() {
super.viewDidLoad()
switchButton.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton2.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton3.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton4.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton5.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton6.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton7.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton8.isOn = UserDefaults.standard.bool(forKey: "switchState")
switchButton9.isOn = UserDefaults.standard.bool(forKey: "switchState")
//@IBAction Example:
@IBAction func saveSwitchPressed(_ sender: UISwitch) {
UserDefaults.standard.set(sender.isOn, forKey: "switchState")
使用您显示的代码,开关将在您首次运行应用程序时默认为关闭;如果您从UserDefaults
请求一个布尔值,并且没有使用该名称的键(第一次运行应用程序就是这种情况),那么它将返回false,这将关闭开关。
您确实需要为每个开关使用不同的键名称,否则所有开关将具有相同的状态。