swift Invalid Redeclaration

mka*_*a93 23 ios swift

func dropShape() {
        if let shape = fallingShape {
            while detectIllegalPlacement() == false {
                shape.lowerShapeByOneRow()
            }
            shape.raiseShapeByOneRow()
            delegate?.gameShapeDidDrop(self)
        }
    }
Run Code Online (Sandbox Code Playgroud)

嗨,我正在接受'dropShape()'的无效重新声明,所以我错了.有谁能够帮我

Leo*_*bus 35

该错误消息表示您已创建两个具有相同名称的函数.

在此输入图像描述

您不能为功能使用相同的名称和相同的签名.是函数重载是否存在,这意味着您可以使用具有不同参数的相同名称.您可以使用相同的名称创建任意数量的功能.拇指规则是每个重载函数必须具有不同的参数.

例如:

func dropShape() {        
}

func dropShape(points: CGPoint) {        
}
Run Code Online (Sandbox Code Playgroud)

  • 这个答案是错误的。您可以在 swift 中使用同名的不同函数。__函数重载__ 在 swift 中工作:) (2认同)

J. *_*ush 26

我遇到了同样的问题,我通过删除编译源中的额外文件解决了这个问题.

  1. 转到项目根目录.
  2. 转到构建阶段.
  3. 单击Compile Sources,检查已添加两次的文件并删除其中一个.

那应该可以解决你的问题.