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

时间:2014-06-12 00:29:29

标签: 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
    }
}

如何在swift中使用方法签名来执行目标操作?

2 个答案:

答案 0 :(得分:8)

通过将您的功能定义为func respondToTap(#recognizer: UITapGestureRecognizer!),您将第一个参数设为external name。因此,您的方法实际上称为respondToTaprecognizer:。您不希望参数具有外部名称,它应该是func respondToTap(recognizer: UITapGestureRecognizer!)

答案 1 :(得分:0)

有趣。它在我的参数名称中使用#。