我有一个这样定义的闭包,
public var onLogCompletion:((_ printLog:String,_ fileName:String,_ functionName:String,_ lineNumber:Int) -> ())? = nil
像这样更新的,
fileprivate func printerCompletion(printLog:String, fileName:String, functionName: String, lineNumber:Int) -> Void {
if onLogCompletion != nil {
onLogCompletion!(printLog, getFileName(name: fileName), functionName, lineNumber)
}
}
像这样使用它,
Printer.log.onLogCompletion = { (log) in
//print(log)
//print(log.0)
}
错误:
无法将类型 '(_) -> ()' 的值分配给类型 '((String, String, String, Int) -> ())?'
但这给了我以上错误,不知道该怎么办?
同样适用于 Swift 3.x。