这是啥覆盖错误,我该如何解决? [复制]

Posted

技术标签:

【中文标题】这是啥覆盖错误,我该如何解决? [复制]【英文标题】:What is this Override error and how do I fix it? [duplicate]这是什么覆盖错误,我该如何解决? [复制] 【发布时间】:2015-10-31 03:49:44 【问题描述】:

我正在制作一个带有移动角色和旋转武器的 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
        
    

这是我收到错误的代码 sn-ps 之一。这是错误:方法没有覆盖其超类中的任何方法

【问题讨论】:

【参考方案1】:

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

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

您将函数定义为

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

新的实现是

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

您的实现采用不同的数据类型作为参数,因此不是同一个函数,这就是您收到覆盖错误的原因。

【讨论】:

以上是关于这是啥覆盖错误,我该如何解决? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

警告:忽略无效的分发 -ip (c:\python39\lib\site-packages) 我该如何解决这个问题,这是啥意思? [复制]

尝试进行迁移时获得“以下内容类型已过时,需要删除”。这是啥意思,我该如何解决?

是啥导致错误“无法访问 Foo 类型的封闭实例”,我该如何解决?

Segmentation fault: 11 是啥意思,如何解决? [复制]

双向链表 - 是啥导致我的代码引发编译器错误,我该如何解决?

我该如何解决这个错误,SQLSTATE [42000]? [复制]