#selector在手势识别在xcode9

问题描述:

斐伊川大家我只是从xcode8转向xcode9 并且当我tryed使用手势识别它们xcode9中显示了一些错误#selector的#selector在手势识别在xcode9

参数指instate方法轻扫(手势),是不是> 暴露OBJç ,在这里我的代码

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") 
    } 
} 

因此,它是别的东西

Xcode的问题
+0

添加@objc您的刷卡功能 – Siyavash

您需要在滑动(gestuer :)时使用@objc属性才能在#selector中使用它。

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

你能plez之前解释为什么我需要用这个,凡在xcode8没什么如 –

+0

“A斯威夫特类或协议必须与@objc属性被标记为可以在Objective-C中访问和使用,这个属性告诉编译器,这段Swift代码可以从Objective-C中访问。“因为#选择器是客观的C,所以你需要使你的方法可以访问目标C – Siyavash

+0

我明白了,但我的问题是这个错误没有显示在xcode8 –