预期错误的参数类型 - Swift 4

时间:2018-02-09 00:36:15

标签: swift

我有一个班级"地点"它包含一个结构数组" Location"和一些功能。当我尝试从位置调用一个函数时,我期待一个我没有指定的参数(或者我没有意识到我做过)。我想要一些类型"位置"作为论点。

我告诉我应该通过以下方式完成通话: enter image description here

但是这就是类/函数的样子:

class Locations {
    var locations: [Location] = []

    func addLocationIfSignificant(loc: Location) {
        if locations.isEmpty {
            locations.append(loc)
            return
        }
        // do some other stuff
    }
}

significantLocations的定义:

var significantLocations = Locations.self

1 个答案:

答案 0 :(得分:3)

您的声明var significantLocations = Locations.self说“将变量significantLocations视为Locations类型的代理”

这从您的错误消息中有意义。您实际上是在尝试针对Locations类型而不是Locations的实例运行该函数。

将您的声明更改为......

var significantLocations = Locations()

它会解决你的问题。

如果您想了解更多信息,了解您的错误显示的原因,请告诉我,我会提供。