我正在使用M13Checkbox并且它没有发送任何事件来调用我的目标操作
let checkbox: M13Checkbox = {
let checkbox = M13Checkbox()
checkbox.cornerRadius = 1
checkbox.boxType = .square
checkbox.stateChangeAnimation = .bounce(.fill)
checkbox.tintColor = UIColor(red: 66/255, green: 172/255, blue: 232/255, alpha: 1)
checkbox.checkmarkLineWidth = 4
checkbox.addTarget(self, action: #selector(checkMarkAction(_ :)), for: .valueChanged)
return checkbox
}()
func checkMarkAction(_ sender: M13Checkbox) {
print("M13CheckboxAction")
}
答案 0 :(得分:0)
我认为您需要像这样引用选择器:#selector(checkMarkAction:)
以匹配它对Objective C运行时的显示方式。
目标操作模式(以及Swift中的其他动态功能)是在Objective C运行时之上实现的,因此它正在寻找Swift方法的Objective C样式名称。
答案 1 :(得分:0)
checkbox.addTarget(self, action: #selector(checkMarkAction), for: .valueChanged)
答案 2 :(得分:0)
我刚刚发表了这个声明
checkbox.addTarget(self, action: #selector(checkMarkAction(_ :)), for: .valueChanged)
awakeFromNib()
方法中的,它运行正常