On/Off haptic feedback Switch (Swift)

Viewed 1838

I have SettingsVC ("Photo" there are 2 switch) and MainVC ("Code" there is a function for adding haptic feedback buttons).

How can I make it so that when you turn off the Switch in Setting, then the function would stop working?

SettingsVC "Photo"

@IBAction func Vib(_ sender: UIButton) {
    let generator = UIImpactFeedbackGenerator(style: .light)
    generator.impactOccurred()
}
1 Answers

You can store the switch state in UserDefaults and then check for it in your function.

In your switch action:

@IBAction func switchAction(sender: UISwitch) { 
    if sender.isOn {
        UserDefaults.standard.set(true, forKey: "SwitchState")
    } else {
        UserDefaults.standard.set(false, forKey: "SwitchState")
    }
}

In your MainVC func

@IBAction func Vib(_ sender: UIButton) {
    guard UserDefaults.standard.bool(forKey: “SwitchState”) else { return }

    let generator = UIImpactFeedbackGenerator(style: .light)
    generator.impactOccurred()
}
Related