swift - UIGesture 识别器使应用程序崩溃

标签 swift sprite-kit uigesturerecognizer

我尝试使用以下代码将 UI 手势识别器添加到 Swift 中的 SKScene

let recognizer = UISwipeGestureRecognizer(target: self, action: "handleSwipe:")
        recognizer.direction = UISwipeGestureRecognizerDirection.Right
        self.view?.addGestureRecognizer(recognizer)

        func handleSwipe() {
            println("Swiped Right")

但是,一旦我运行并执行滑动,应用程序就会崩溃并显示以下日志:

2014-11-22 23:21:35.251 Revolution[83866:460316] -[Revolution.levelSelect handleSwipe:]:无法识别的选择器发送到实例 0x7feec842b920 2014-11-22 23:21:35.255 Revolution[83866:460316] *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[Revolution.levelSelect handleSwipe:]:无法识别的选择器发送到实例 0x7feec842b920”

libc++abi.dylib:以 NSException 类型的未捕获异常终止

有什么我需要添加到 GameViewController 中或者选择器导致它崩溃的原因吗?

最佳答案

“handleSwipe:”中的“:”表示方法 handleSwipe 接受一个参数。在这种情况下,手势对象被传递给手势处理程序。所以,你的函数应该是

func handleSwipe(gesture:UISwipeGestureRecognizer) {
    println("Swiped Right")
}

关于swift - UIGesture 识别器使应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27085593/

相关文章:

ios - Sprite Kit 和 Swift,随着时间的推移增加节点的速度?

ios - swift 3+,URLsession,在后台明显随机失败

ios - 在 Swift SpriteKit 中的场景之间显示 Admob Interstitial 广告

ios - 从 UISwipeGestureRecognizer 和 UIScrollView 接收用户输入

iphone - 如何在 'A' View 从 'B' View 出来时在 iPhone 中获得警报

ios - UIDatePicker - DateFormatter 在选择器中选择的那一天后返回

ios - 如何使用 NSUnderlineStyle.PatternDot

swift - 如何在 gameScene 中添加来自另一个类的 Sprite

ios - SpriteKit 着色器崩溃 iOS 9 : SKDefaultShading, gl_FragCoord

ios - 如何在半 View 上实现滑动手势,在另一半 View 上实现平移手势?