在Swift 3中向UISwitch添加选择器会出现“使用未解析的标识符”错误

时间:2016-10-07 15:02:00

标签: swift3

我在带有UISwitch的动作表中有自定义视图,我希望在切换时切换。交换机显示正常,但是当我使用addTarget来调用该函数时,我得到 - 使用未解析的标识符'deferSwitchToggled'

let deferredFilterToggle: UISwitch = {
    let deferredFilterToggle = UISwitch()
    deferredFilterToggle.translatesAutoresizingMaskIntoConstraints = false
    deferredFilterToggle.addTarget(self, action: #selector(deferSwitchToggled(_:)), for: UIControlEvents.valueChanged)
    return deferredFilterToggle
}()

以下功能。

func deferSwitchToggled(mySwitch: UISwitch) {
    if mySwitch.isOn {
        showDeferred = true
    } else {
        showDeferred = false
    }
}

我哪里错了?

1 个答案:

答案 0 :(得分:6)

对于您指定的给定选择器,您的deferSwitchToggled方法需要提供一个未命名的参数:

func deferSwitchToggled(_ mySwitch: UISwitch) {

而不是:

func deferSwitchToggled(mySwitch: UISwitch) {