Переключатель обратной связи вкл / выкл (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()
}