#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的问题
您需要在滑动(gestuer :)时使用@objc属性才能在#selector中使用它。
@objc func swipe(gestuer: UISwipeGestureRecognizer) {
if gestuer.direction == .left {
print("this is left swipe")
}
}
你能plez之前解释为什么我需要用这个,凡在xcode8没什么如 –
“A斯威夫特类或协议必须与@objc属性被标记为可以在Objective-C中访问和使用,这个属性告诉编译器,这段Swift代码可以从Objective-C中访问。“因为#选择器是客观的C,所以你需要使你的方法可以访问目标C – Siyavash
我明白了,但我的问题是这个错误没有显示在xcode8 –
添加@objc您的刷卡功能 – Siyavash