func dropShape() {
if let shape = fallingShape {
while detectIllegalPlacement() == false {
shape.lowerShapeByOneRow()
}
shape.raiseShapeByOneRow()
delegate?.gameShapeDidDrop(self)
}
}
嗨,我正在接受这个' dropShape()'的无效重新声明。我错了什么任何人都可以帮助我
答案 0 :(得分:33)
该错误消息表示您已创建了两个具有相同名称的函数。
您不能对功能使用相同的名称和相同的签名。是函数重载,这意味着您可以使用具有不同参数的相同名称。您可以使用相同的名称创建任意数量的功能。 拇指规则是每个重载功能必须具有不同的参数。
例如:
func dropShape() {
}
func dropShape(points: CGPoint) {
}
答案 1 :(得分:23)
我遇到了同样的问题,我通过删除编译源中的额外文件解决了这个问题。
这应该可以解决你的问题。
答案 2 :(得分:1)
我刚才有这个确切的错误消息。对我来说,这是类和 struct 冲突。
对于相同范围内的任何两种类型声明,您将收到错误,例如:如果您使用任何声明以下两种类型中的任何一种,您将收到错误
class employee{...}
struct employee{...}
func employee(){...}
protocol employee{...}
它不仅适用于类,结构或函数,而是适用于所有内容,因为func
s,struct
s,enum
s,protocol
s都是 { Swift中的{3}}
答案 3 :(得分:0)
当您不导入UIKit并且类名应该是唯一的时,会发生此错误,因此请确保添加import UIKit
并且函数或类具有唯一的名称。