为了账号安全,请及时绑定邮箱和手机立即绑定

在SWIFT 4中,我如何处理@objc推断反对#selector()?

在SWIFT 4中,我如何处理@objc推断反对#selector()?

慕侠2389804 2019-06-24 12:58:12
在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个赞

到目前为止,我认为SWIFT 4.2所需要做的就是将@IBAction分配给您的方法,这样您就可以避免使用这个愚蠢的@objc注释了。

```

let tap  =  UITapGestureRecognizer(target: self, action: #selector(self.cancel))@IBAction func cancel(){
    self.dismiss(animated: true, completion: nil)}


查看完整回答
反对 回复 2019-06-24
  • 1 回答
  • 0 关注
  • 610 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信