Ios 开/关触觉反馈开关(Swift)

Ios 开/关触觉反馈开关(Swift),ios,swift,xcode,haptic-feedback,Ios,Swift,Xcode,Haptic Feedback,我有SettingsVC(“Photo”有2个开关)和MainVC(“Code”有一个添加触觉反馈按钮的功能) 如何使设置中的开关关闭时,功能停止工作 您可以将开关状态存储在UserDefaults中,然后在函数中检查它 在您的切换操作中: @IBAction func switchAction(sender: UISwitch) { if sender.isOn { UserDefaults.standard.set(true, forKey: "SwitchSta

我有SettingsVC(“Photo”有2个开关)和MainVC(“Code”有一个添加触觉反馈按钮的功能)

如何使设置中的开关关闭时,功能停止工作


您可以将开关状态存储在
UserDefaults
中,然后在函数中检查它

在您的切换操作中:

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

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

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

不需要将布尔值与真值进行比较。你可以摆脱这个
==true
@FrancescoDeliro我的功能在使用你的代码时总是关闭的,并且总是打开开关。你的开关默认状态是?如果您将开关值更改为off,然后更改为on,请尝试打印UserDefaults Bool值。
@IBAction func Vib(_ sender: UIButton) {
    guard UserDefaults.standard.bool(forKey: “SwitchState”) else { return }

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