import UIkit
// ViewController file
class ViewController: UITableViewController, UIViewController{
@IBAction func aaaSwitch(_ sender: UISwitch) {
if (sender.isOn == true)
{
ClickCounterA+=2
UserDefaults.standard.set(aaaSwitch, forKey: "aaaSwitch")
UserDefaults.standard.bool(forKey: "aaaSwitch")
defaults.set(aaaSwitch, forKey: "aaaSwitch")
}
else
{
defaults.set(aaaSwitch, forKey: "aaaSwitch")
}
}
我在tableview中更改了开关(aaaSwitch)并转到另一个tableview。之后,我返回到第一个tableview,切换是我更改之前的语句。换句话说,我无法保存switch语句。
答案 0 :(得分:0)
问题是你将aaaSwitch(方法)传递给UserDefaults设置调用。您希望传入一个值,在本例中为布尔值。
<vue-recaptcha sitekey="Your key here">
<button>Click me</button>
</vue-recaptcha>
如果您真的想归档整个UISwitch,则需要先将其转换为NSData(并且您可能需要提出一个算法来实现)。我认为没有必要这样做。当然你只想坚持其开/关状态,所以使用上面的代码。
答案 1 :(得分:0)
class ViewController: UITableViewController, UIViewController{
@IBOutlet weak var aaaswitch: UISwitch!
override func viewWillAppear(_ animated: Bool) {
aaaswitch.isOn = UserDefaults.standard.bool(forKey: "aaaSwitch")
}
@IBAction func aaaSwitch(_ sender: UISwitch) {
if (sender.isOn == true)
{
....
}
else
{
....
}
UserDefaults.standard.set(sender.isOn, forKey: "aaaSwitch")
}
}