我正试图在swift中使用手势识别器,但我一直无法识别选择器崩溃。
init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
self.addGestureRecognizer(tapRecognizer)
tapRecognizer.addTarget(self, action:"respondToTap:")
self.userInteractionEnabled = true
}
func respondToTap(#recognizer: UITapGestureRecognizer!)-> Void {
switch recognizer.state {
case UIGestureRecognizerState.Began:
showTouchDown()
case UIGestureRecognizerState.Ended:
showTouchUp()
default:
return
}
}
如何在swift中使用方法签名来执行目标操作?
答案 0 :(得分:8)
通过将您的功能定义为func respondToTap(#recognizer: UITapGestureRecognizer!)
,您将第一个参数设为external name。因此,您的方法实际上称为respondToTaprecognizer:
。您不希望参数具有外部名称,它应该是func respondToTap(recognizer: UITapGestureRecognizer!)
。
答案 1 :(得分:0)
有趣。它在我的参数名称中使用#。