2017-08-30 16 views
-2

斐伊川に私はちょうど をxcode9するxcode8からシフトしていると私はジェスチャー認識を使用するようにしようと試みたとき、彼らはxcode9誰もが#selectorの#selectorはxcode9

引数はinstate方法を参照するいくつかのエラーを示していますありませんスワイプ(ジェスチャー)> ので、それが何か他

のXcodeの問題であるOBJ Cと、ここに私のコード

override func viewDidLoad() { 
    super.viewDidLoad() 

    let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(swipe(gestuer:))) 
    swipeLeft.direction = .left 
     self.view.addGestureRecognizer(swipeLeft) 
} 

func swipe(gestuer: UISwipeGestureRecognizer) { 
    if gestuer.direction == .left { 
     print("this is left swipe") 
    } 
} 

に公開

+0

あなたのスワイプ機能前 – Siyavash

答えて

0

#selectorで使用するには、スワイプ(gestuer :)の@objc属性を使用する必要があります。

@objc func swipe(gestuer: UISwipeGestureRecognizer) { 
    if gestuer.direction == .left { 
     print("this is left swipe") 
    } 
} 
+0

を@objc追加xcode8でそのような –

+0

など何も「ありませんでしたスウィフトクラスやプロトコルがあることを@objc属性でマークされなければならない場合、あなたが、私はこれを使用する必要がある理由を説明plezができこの属性はObjective-CからこのSwiftコードにアクセスできることをコンパイラに指示します。 #selectorは客観的なCなので、客観的なC言語であなたのメソッドをアクセシブルにする必要があります。 – Siyavash

+0

私はそれを持っていますが、このエラーはxcode8に表示されていませんでした –