2017-11-08 10 views
0

これは私のコードであるに露出されていないインスタンスメソッド「handleScreenTap(送信:)」..スイフト3〜4 - 「#selector」の引数のObjective-C

class LoginVC: UIViewController, UITextFieldDelegate, , Alertable { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let tap = UITapGestureRecognizer(target: self, action: #selector(handleScreenTap(sender:))) 
    self.view.addGestureRecognizer(tap) 
} 

を意味し、これはエラー:

Argument of '#selector' refers to instance method 'handleScreenTap(sender:)' that is not exposed to Objective-C 

I)がFUNCのviewDidLoadを(上書きする@objcを追加しようとした:

@objc override func viewDidLoad() { 

同じエラーが続いています。

どうすればこの問題を解決できますか?

+1

いいえ、それは' handleScreenTap(送信者)に '@のobjc'を追加することを意味します。 – Hamish

答えて

1

はこのようにセレクタ

に関数に@objcを追加します。 `:

@objc func handleScreenTap(sender:Any) { 
} 
関連する問題