什么是Override错误,我该如何解决?

时间:2015-10-31 03:49:44

标签: swift

我正在制作一个带有移动角色和旋转武器的ios游戏,它有效,但后来我休息了一个月,ios得到了更新9.我的代码不再有效并给了我一个错误。错误是什么,更重要的是我如何解决它?

 override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) {
    for touch in (touches as! Set<UITouch>) {
        let location = touch.locationInNode(self)
        if (leftButton.containsPoint(location)){
            leftPressed = true
        }else{
            leftPressed = false
        }
        if (rightButton.containsPoint(location)){
            rightPressed = true
        }else{
            rightPressed = false
        }
    }
}

这是我收到错误的代码段之一。这是错误:Method不会覆盖其超类

中的任何方法

1 个答案:

答案 0 :(得分:0)

可能发生的情况是,在更新iOS 9期间,功能发生了变化,您的实施已经过时且不再有效。

阅读文档here(已在您正在使用的功能中)。

您将功能定义为

touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent)

新实施

touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?)

您的实现采用不同的数据类型作为参数,因此功能不同,这就是您获取覆盖错误的原因。