这里有一个非常基本的问题,但它让我塞满了...
我尝试使用此方法调用函数(在另一个类中定义):
var idarray = Profile.getIDArray(Globals.friendlist);
其中Globals.friendlist是一个Profiles数组(即[Profile?])
现在这是我的.getIDArray函数
func getIDArray(inputarray:[Profile?]) -> [String] {
//Blah - code that returns an array of Strings
}
每当我尝试编译时,我都会收到以下错误:
Cannot invoke 'getIDArray' with an argument list of type '([Profile?])'
现在我感到很困惑 - 因为我非常确定我的函数 接受[Profile?]作为参数类型!
出了什么问题 - swift中引入了一些我不知道的东西吗?
答案 0 :(得分:4)
您正在调用getIDArray作为类型方法。您可能错过了func声明中的class
或static
关键字:
class func getIDArray(... // if Profile is a class
static func getIDArray(... // if Profile is struct or enum