func dropShape() {
if let shape = fallingShape {
while detectIllegalPlacement() == false {
shape.lowerShapeByOneRow()
}
shape.raiseShapeByOneRow()
delegate?.gameShapeDidDrop(self)
}
}
嗨,我正在对'dropShape()'进行无效的重新声明,那么我做错了什么。有人能帮帮我吗
5条答案
按热度按时间f0brbegy1#
该错误消息意味着您创建了两个同名函数。
不能对函数使用相同的名称和签名。是的函数重载存在,这意味着你可以使用相同的名称与不同的参数。您可以使用相同的名称创建任意多个函数。经验法则是每个重载函数必须有不同的参数。
例如:
esbemjvw2#
我也遇到了同样的问题,我已经通过删除编译源代码中的一个额外文件来解决它。
1.转到项目根目录。
1.进入构建阶段。
1.点击【编译源代码】,检查是否有添加了两次的文件,删除其中一个。
这应该能解决你的问题。
igsr9ssn3#
我刚刚收到了这个确切的错误消息。对我来说,这是一个“类”和“结构”的冲突。
对于 * 相同 * 作用域中的任何两个类型声明,您将得到一个错误,例如。如果你使用 any of声明下面两种类型中的任何一种,你将得到一个错误
它不仅适用于类、结构或函数,它适用于所有东西,因为
func
s、struct
s、enum
s、protocol
s在Swift中都是**First class citizens**zbsbpyhn4#
另一件要记住的事情是,你也不能创建一个名为“body”的变量,这是一件令人遗憾的事情,但是你只需要改变变量的名称,你就可以开始了
roejwanj5#
当你没有导入UIKit并且类名应该是唯一的时,就会发生这个错误,所以请确保添加
import UIKit
并且函数或类具有唯一的名称。