你好可以做这样的回调吗?我想作为参数传递一个函数,以便在某个任务完成后可以运行回调函数。iOS中的回调swift 3
class ConnectBLE {
var callBackFunc:()->()
init(callFunc: @escaping() ->()){
callBackFunc = callFunc
}
func runCallBackFunc() {
callBackFunc()
}
}
class DelegateARC {
private let object = ConnectBLE(callFunc: RaspakHC05)
func RaspakHC05() {
print("hello from a callback")
}
}
但是我有一个错误。 无法将类型的价值 '(DelegateARC) - >() - >()' 到期望的参数类型 '() - >()'
为什么会打印消息出来?没有电话回拨? – Rob
@Rob它不编译。 – Mikhail
它不起作用,因为您不能在非惰性属性初始值设定项中引用'self',因为它们是在对象初始化之前运行的。尝试:'私人懒惰var对象:ConnectBLE = ConnectBLE(callFunc:self.RaspakHC05)' – dan