Переключатель обратной связи вкл / выкл (Swift)

У меня есть SettingsVC ("Фото", есть 2 переключателя) и MainVC ("Код", есть функция добавления тактильных кнопок обратной связи).

Как сделать так, чтобы при выключении Switch в Настройке функция перестала работать?

Настройки ВК "Фото"

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

1 ответ

Решение

Вы можете сохранить состояние переключателя в UserDefaults а затем проверьте это в вашей функции.

В вашем действии переключателя:

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

В вашей функции MainVC

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

    let generator = UIImpactFeedbackGenerator(style: .light)
    generator.impactOccurred()
}
Другие вопросы по тегам