class ClassA {
var callback : (()->())?
func someAction() {
callback?()
}
}
class ClassB {
func caller() {
let a = ClassA()
a.callback = {
print("hello")
//d do stuff
}
}
}
我想将ClassB回调实现移到单独的函数中。如下
a.callback = somefunc()
但这不可能,因为我们为变量提供了 功能
我不想要
a.callback = { somefunc() }
有没有一种方法可以调用功能?
答案 0 :(得分:2)
将()
添加到someFunc
意味着您正在调用该函数,这将得出someFunc
的返回值,即Void
。
您需要直接引用该函数,而无需调用它。只需删除()
:
a.callback = someFunc