Swift 表示类型是非可选的,但打印是可选的
我有以下代码:Swift 表示类型是非可选的,但打印是可选的,swift,Swift,我有以下代码: let result_string = "\(String(describing: value))" 因为我需要将其从任何类型转换为字符串。但是,当我打印结果字符串时,它会打印: optional(abcd) 我怎样才能让它打印出来 abcd ? 当我尝试对optionals进行其他修复时,它告诉我result_字符串不是可选的,不允许我强制展开 编辑: 值是可选的,所以强制展开它修复了我的问题 let result_string = "\(String(describin
let result_string = "\(String(describing: value))"
因为我需要将其从任何类型转换为字符串。但是,当我打印结果字符串时,它会打印:
optional(abcd)
我怎样才能让它打印出来
abcd
?
当我尝试对optionals进行其他修复时,它告诉我result_字符串不是可选的,不允许我强制展开
编辑:
值是可选的,所以强制展开它修复了我的问题
let result_string = "\(String(describing: value!))"
你可以试试
if let res = value {
print(res)
}
或
guard let res = value { return }
print(res)
您可以尝试以下方法: var值:有吗?=“abcd” 让result_string=值为!串 打印(结果字符串) 我们必须把任何东西都压到绳子上。
在操场工作。我猜:
value
是可选的…@Martin R那么我应该尝试强制展开value吗?@MartinR谢谢,强制展开修复了我的问题。如果该值为nil@AthreyaDaniel您的结果字符串是可选的,但类型为Any的值不是可选的,您正在尝试强制展开非可选值。对不起,Prabhat,但这是错误的。在您的示例中,result\u string
是包含文字字符串“optional(value)”的非可选字符串。与OP的错误相同。@Moritz如果value是Any类型,带有optional,那么它将生成optional(value),我想请在操场上测试你的代码,Prabhat。您将看到“条件绑定的初始值设定项必须具有可选类型,而不是‘String’”,因为正如我所说的,在您的示例中,result\u String
不是可选的。提示:“插值”…;)谢谢,明白了。我们必须贬低任何类型的价值。我已经编辑了答案并进行了验证。现在你的代码没有错误,当然,但它没有回答OP的问题。这并不能解决他们的问题。