无法创建函数数组

时间:2017-12-13 04:28:02

标签: swift

我尝试制作一系列函数,而Xcode没有让我这么做。 这是我得到的错误:

  

类型的值'(ViewController) - > () - > (ViewController)'没有成员'firstFunc'

基本上我需要知道如何制作函数数组,以便以后随机调用它们。

let randomFunc = [self.firstFunc(),self.secondFunc(),self.thirdFunc()]

func firstFunc(){
}

func secondFunc(){
}

func thirdFunc(){
}

2 个答案:

答案 0 :(得分:1)

我认为你只需要给出函数的名称,目前你正在调用函数,

如果你想使用self,你也可以这样做:(你需要使这个属性lazy var使用self

class foo {
        lazy var randomFunc = [self.firstFunc,self.secondFunc,self.thirdFunc]
        func firstFunc(){

                print(123)
        }

        func secondFunc(){


        }

        func thirdFunc(){


        }
}

用法:

let f = foo()
f.randomFunc[0]()  // prints 123

答案 1 :(得分:0)

[(keyword.capitalize(), entries) for keyword, entries in Keywords_33]

<强>功能

lazy var array = [self.fun1,self.fun2,self.fun3]

<强>用法:

func fun1() {
    print("func1")
}
func fun2() {
    print("func2")

}
func fun3() {
    print("func3")

}

<强>打印

self.array[0]()