'String' 不符合预期类型 'CVarArg'
'String' does not conform to expected type 'CVarArg'
当我尝试使用 NSLog
登录时,我遇到了这个错误:
remote: /tmp/build_f459d376d1bc10ac2e93e52575ac5ea9/Sources/App/main.swift:368:49: error: argument type 'String' does not conform to expected type 'CVarArg'
remote: NSLog("FILE NOT AVAILABLE", "TESTNOTI")
remote: ^~~~~~~~~~
remote: as! CVarArg
这是我的代码:
if fileManager.fileExists(atPath: (drop.config["servers", "default", "KeyURL"]?.string ?? "default")) {
NSLog("FILE AVAILABLE", "TESTNOTI")
} else {
NSLog("FILE NOT AVAILABLE", "TESTNOTI")
}
为什么会发生这种情况,我该如何解决?
NSLog
将 格式字符串作为第一个参数, 紧随其后
由参数列表代替占位符
在格式字符串中(比较 String Format Specifiers)。
在 Apple 平台上,您可以使用 %@
格式打印 String
:
let fileName = "the file"
NSLog("File not found: %@", fileName)
但是,这不适用于 Linux 平台(例如 Vapor)。
这里你必须将 Swift 字符串转换为 C 字符串才能通过
它作为 NSLog 的参数(并且对 C 字符串使用 %s
格式):
let fileName = "the file"
fileName.withCString {
NSLog("File not found: %s", [=11=])
}
看来你用的是Vapor框架,我引用:
Not all of the core libs (Foundation) is available on Linux yet.
你在 Vapor 上创建的问题已经得到了答案:
https://github.com/vapor/vapor/issues/870
当我尝试使用 NSLog
登录时,我遇到了这个错误:
remote: /tmp/build_f459d376d1bc10ac2e93e52575ac5ea9/Sources/App/main.swift:368:49: error: argument type 'String' does not conform to expected type 'CVarArg' remote: NSLog("FILE NOT AVAILABLE", "TESTNOTI") remote: ^~~~~~~~~~ remote: as! CVarArg
这是我的代码:
if fileManager.fileExists(atPath: (drop.config["servers", "default", "KeyURL"]?.string ?? "default")) {
NSLog("FILE AVAILABLE", "TESTNOTI")
} else {
NSLog("FILE NOT AVAILABLE", "TESTNOTI")
}
为什么会发生这种情况,我该如何解决?
NSLog
将 格式字符串作为第一个参数, 紧随其后
由参数列表代替占位符
在格式字符串中(比较 String Format Specifiers)。
在 Apple 平台上,您可以使用 %@
格式打印 String
:
let fileName = "the file"
NSLog("File not found: %@", fileName)
但是,这不适用于 Linux 平台(例如 Vapor)。
这里你必须将 Swift 字符串转换为 C 字符串才能通过
它作为 NSLog 的参数(并且对 C 字符串使用 %s
格式):
let fileName = "the file"
fileName.withCString {
NSLog("File not found: %s", [=11=])
}
看来你用的是Vapor框架,我引用:
Not all of the core libs (Foundation) is available on Linux yet.
你在 Vapor 上创建的问题已经得到了答案: https://github.com/vapor/vapor/issues/870