我意识到我可以生成一个方法列表:
class A {
let methodList: [A -> Int -> Bool] = [methodA, methodB]
func methodA(val: Int) -> Bool { return true }
func methodB(val: Int) -> Bool { return false }
}
那很好。如何创建可以调用这些方法的循环?显而易见,如obj.methodList[0](1)
不起作用。
答案 0 :(得分:1)
你可以这样做:
let a = A()
let result = a.methodList[0](a)(1)
因为您的方法可能需要一个实例才能正确解析。