Swift 2 TapGesture错误:“无法识别的选择器发送到实例”

时间:2015-08-31 20:59:19

标签: ios swift uitapgesturerecognizer

我花了两天的时间尝试单击一个视图(单击屏幕中的任意位置)。我已经尝试了解决这个问题的各种变化。在DVC类中,所有内容都使用@IBActions,将视图重命名为@IBAction等。除了以下内容之外,我不会得到任何其他错误:“ [UIView评分:]:无法识别的选择器发送到实例

class DataViewController: UIViewController, UIGestureRecognizerDelegate {

    var tappy = UITapGestureRecognizer()
    override func viewDidLoad() {

      self.tappy = UITapGestureRecognizer(target:self.view, action:"score:")
      self.tapView!.addGestureRecognizer(self.tappy)

     }

}

func score(sender:UITapGestureRecognizer!) throws  {

    print("tapped")

}

1 个答案:

答案 0 :(得分:4)

一个问题是,您的action:选择器"score:"与您将方法声明为func score(sender:UITapGestureRecognizer!) throws时与Objective-C所看到的内容不对应。它看到"score:error:"。最简单的解决方案是删除throws,因为"score:error:"不能是点击手势识别器的操作方法签名。

此外,正如@dan指出的那样,score不在self.view但在self。因此,您还需要更改target: