如何从 SWIFT 3 中的另一个 ViewController 检查 UISwitch 的状态?

How to check the state of an UISwitch from another ViewController in SWIFT 3?

我想检查另一个 View ControllerUISwitch 的状态。而如果switchon,那么我希望ViewbackgroundColor是红色的,否则应该是绿色的。我尝试使用 UserDefaults,但我不知道从什么开始。任何帮助将不胜感激!

注意:这是 SWIFT 3 的版本:

首先,我将 switchinitial state 设置为 off。我添加了一个按钮,它将我们带到 secondViewController 并检查开关的状态。这是我的代码(用于包含开关的视图控制器):

    @IBOutlet weak var switch1: UISwitch!
        let defaults = UserDefaults.standard
        var switchON : Bool = false
@IBAction func checkState(_ sender: AnyObject) {
   
        if switch1.isOn{
            switchON = true
        defaults.set(switchON, forKey: "switchON")
        }
        if switch1.isOn == false{
            switchON = false
            defaults.set(switchON, forKey: "switchON")
        }
    
    }

对于secondView

let defaults = UserDefaults.standard
    
    override func viewDidLoad() {
        super.viewDidLoad()
        if defaults.value(forKey: "switchON") != nil{
            let switchON: Bool = defaults.value(forKey: "switchON")  as! Bool
            if switchON == true{
                self.view.backgroundColor = UIColor.red()
            }
            else if switchON == false{
                self.view.backgroundColor = UIColor.green()
            }
        }
    }