swift无法识别的目标动作模式选择器

Sea*_*ser 2 ios swift

我试图在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
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在swift中使用方法签名来实现目标动作?

Chu*_*uck 8

通过将函数定义为func respondToTap(#recognizer: UITapGestureRecognizer!),您将为第一个参数提供外部名称.所以你的方法实际上被调用了respondToTaprecognizer:.您不希望参数具有外部名称,它应该是func respondToTap(recognizer: UITapGestureRecognizer!).