我将提供一个可选字符串的默认值,该字符串放置在String文字内作为参数(如果我使用了正确的关键字!)。 我想知道如何使用“ ??”为其设置默认值。运算符?
我认为我应该在双引号之前使用转义字符,但是我不知道正确的语法是什么。 这是导致错误的语法:
print ("Error \(response.result.error ?? "default value") ")
//------------------------ what should be ^here^^^^^^^^
答案 0 :(得分:3)
您必须从字面上用您的消息代替default value
。
因为您位于\(<expression>)
之内,所以无需转义双引号(有关Swift的字符串插值here的更多信息)
如果您需要更清洁的方法,请分两个步骤进行操作:
let msg = response.result.error ?? "whatever"
print("Error: \(msg)")
最后,如果您只想输出非零错误(避免在日志中记录未产生任何错误的错误),则可以执行以下操作:
if let error = response.result.error { print("Error: \(error)") }
答案 1 :(得分:3)
只需将其包装在括号中即可
print("Error \((response.result.error ?? "default value"))")
更干净的方法是使用@Alladinian答案,然后在打印之前将字符串放入变量中