dismissKeyboard - 无法识别的选择器

dismissKeyboard - unrecognized selector

在某些视图控制器中,我有以下命令:

    //Looks for single or multiple taps.
    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(LoginVC.dismissKeyboard))


    //add tap gesture
    view.addGestureRecognizer(tap)

但是在将语言从 swift3 更改为 swift4 之后,我开始收到以下错误

[iosapp_v147.ChangePasswordViewController dismissKeyboard]:无法识别的选择器发送到实例 0x155e04090

如有任何帮助,我们将不胜感激

错误消息表明接收dismissKeyboard调用的目标对象(ChangePasswordViewController)没有声明为@objc dismissKeyboard()

的函数

确保 ChangePasswordViewController 具有使用 @objc 属性声明的 dismissKeyboard 函数。这是所有 #selector 引用所必需的。

您还应该能够在没有 "LoginVC." 前缀的情况下声明选择器,因为您的目标是自己。

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

最后,确保函数签名没有标签(dismissKeyboard(this:that:))。

如果是 none 这些东西,post 函数声明。