Swift3 在Swift 3中向UISwitch添加一个选择器会得到';使用未解析标识符';错误
我在带有UISwitch的actionsheet中有一个自定义视图,我希望在切换开关时捕获该视图。开关显示得很好,但是当我使用addTarget调用函数时,我得到了-use未解析标识符'deferSwitchToggled'Swift3 在Swift 3中向UISwitch添加一个选择器会得到';使用未解析标识符';错误,swift3,Swift3,我在带有UISwitch的actionsheet中有一个自定义视图,我希望在切换开关时捕获该视图。开关显示得很好,但是当我使用addTarget调用函数时,我得到了-use未解析标识符'deferSwitchToggled' let deferredFilterToggle: UISwitch = { let deferredFilterToggle = UISwitch() deferredFilterToggle.translatesAutoresizingMaskIntoC
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
}
}
哪里出错了?对于您指定的给定选择器,您的
延迟切换的方法需要提供一个未命名的参数:
func deferSwitchToggled(_ mySwitch: UISwitch) {
而不是:
func deferSwitchToggled(mySwitch: UISwitch) {
不要忘记在函数上方添加@objc
,否则会发生编译错误。