How do i keep UISwitch state when changing ViewControllers?

前端 未结 3 1200
予麋鹿
予麋鹿 2020-12-01 20:22

When I move from one view controller to another, the switch on the first controller resets itself and does not retain its state. How can I make it save its state when come

3条回答
  •  隐瞒了意图╮
    2020-12-01 21:02

    just after code connect UISwitch to IBoutlet.

    class ViewController: UIViewController {
    
        @IBOutlet weak var switchButton: UISwitch!
    
        @objc func switchStateDidChange(_ sender:UISwitch!)
        {
            if (sender?.isOn == true){
                print("on")
            }
            else {
                print("off")
            }
            UserDefaults.standard.set(sender.isOn, forKey: "switchState")
            UserDefaults.standard.synchronize()
        }
    
       override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(false)
            switchButton?.isOn =  UserDefaults.standard.bool(forKey: "switchState")
            switchButton?.addTarget(self, action: #selector(switchStateDidChange(_:)), for: .touchUpInside)
        }
    }
    

提交回复
热议问题