我想创建一个可以容纳一系列函数的数组。我在执行以下操作时遇到编译错误
func newMethod() {
}
var funcs: Any[] = []
funcs += newMethod // Compile error "Could not find overload for += ..."
答案 0 :(得分:0)
这有效:
func newMethod() {
}
var funcs: Any[] = []
var method : () -> (Void) = newMethod;
funcs += method;
var method : ()
创建一个新的变量方法,其类型为() -> (Void)
,类型为newMethod
。然后,您可以将其添加到数组中。
您还可以添加具有可变参数的函数:
func variadicMethod(numbers: Int...) -> (Int){
//do something and return an Int
}]
var variadicMethod : (Int...) -> (Int) = variadicMethodForAdding
funcs += variadicMethod