1

我有一堆类似的函数,它们都有相同的参数。一些参数具有默认值。

这是其中的两个:

func debug(_ message: String, eventid: String = Foundation.UUID().uuidString, logFile: String = "log.log", evenIdents: Bool = true) -> String

func warning(_ message: String, eventid: String = Foundation.UUID().uuidString, logFile: String = "log.log", evenIdents: Bool = true) -> String

我现在想将这个函数保存在一个变量中并在以后调用它,但我也希望我可以省略一些默认参数。我试过这样:

let function: (String, String) -> String    

switch logStyle {
case .debug:
    function = debug(_:logFile:)
case .warning:
    function = warning(_:logFile:)
}

不幸的是,这不起作用并给了我错误Use of unresolved identifier 'debug(_:logFile:)'

Swift 是否有可能?

4

0 回答 0