Swift 4 中常量的“#selector”参数

Argument of '#selector' on constant in Swift 4

刚刚转换为 Swift 4. 在我的项目中,我收到一条警告,内容如下

Argument of '#selector' refers to instance method 'dismissKeyboard()' in 'UIViewController' that depends on '@objc' inference deprecated in Swift 4

对于以下代码

let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(EntryViewController.dismissKeyboard))

我对类似问题的浏览建议在该行之前添加 @objc,但 Xcode 然后出现错误,修复程序将其删除。

有什么建议

不要将 @objc 放在 调用 dismissKeyboard 的行上,而是放在 声明 func dismissKeyboard 本身,您将解决您的问题。