我想创建一个接受一个或多个参数的方法但是当我尝试以下代码时,我收到以下错误消息。
struct SomeStruct {
static func method(arrays: AnyObject[]...) -> AnyObject[] {
return []
}
}
SomeStruct.method([1], [2])
Cannot convert the expression's type 'AnyObject[]' to type 'IntegerLiteralConvertible'
如果我运行以下代码
SomeStruct.method(["1"], ["2"])
我收到以下错误
Cannot convert the expression's type 'AnyObject[]' to type 'ExtendedGraphemeClusterLiteralConvertible'
我想允许将0个或更多个项目数组传递给任何元素类型(包括数字)的此方法。我怎么能这样做?
答案 0 :(得分:1)
我能够通过使用泛型而不是AnyObject来使其工作。
struct SomeStruct {
static func method<T>(arrays: T[]...) -> T[] {
return []
}
}
SomeStruct.method([1], [2])