在SWIFT 4中,我如何处理@objc推断反对#selector()?我正在尝试将我的项目的源代码从SWIFT 3转换到SWIFT 4。Xcode给我的一个警告是关于我的选择器。例如,我使用常规选择器将目标添加到按钮中,如下所示:button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)这就是它所显示的警告:‘#selector’的参数是指在‘ViewController’中依赖于‘@objc’属性推断的实例方法‘myAction()’,在SWIFT 4中不推荐使用该方法。添加@objc以将此实例方法公开给Object-C现在,打Fix在错误消息中,对我的函数执行以下操作:// beforefunc myAction() { /* ... */ }// after@objc func myAction() { /* ... */ }我不想将所有函数重命名为包含@objc马克和我认为这是不必要的。如何重写选择器以处理不推荐项?有关问题:建议在SWIFT 4模式下使用SWIFT 3@objc推理?
1 回答
Qyouu
TA贡献1786条经验 获得超11个赞
```
let tap = UITapGestureRecognizer(target: self, action: #selector(self.cancel))@IBAction func cancel(){ self.dismiss(animated: true, completion: nil)}
- 1 回答
- 0 关注
- 639 浏览
添加回答
举报
0/150
提交
取消