我有這樣定義的關閉,無法將類型'(_) - >()'的值分配給類型'((String,String,String,Int) - >())?'
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)
}
錯誤:
Cannot assign value of type '(_) ->()' to type '((String, String, String, Int) ->())?'
但是這給了我上面的錯誤,不知道該怎麼辦?
同樣的工作正常與Swift 3.x.
有人,請告訴我downvote我的問題的原因是什麼?這與之前提出的完全不同。 – Hemang