有这样的代码和错误:转义闭包捕获非转义参数'executor'。我想在传递给 scheduleTimer 的回调中调用执行器函数。怎么做,我的错误是什么?
func executeThrough(timeInterval ti: TimeInterval, executer: () -> Void) -> () -> Void {
var timer = Timer.scheduledTimer(withTimeInterval: ti, repeats: false) { _ in
executer()
}
func cancelExecute() -> Void {
timer.invalidate()
}
return cancelExecute
}
在那个和执行者非转义的错误中。您需要向他添加@escaping 以停止咒骂。像这样:
'执行者:@escaping() -> 无效'