我想连接一个字符串,我这样做:
var text: String!
....
text = "hello"
text += "! How r you?"
但是我收到了以下错误:
无法转换类型'字符串的值!'预期的参数类型 ' inout String'文字+ ="!" ^ ~~~
我该如何解决?感谢
答案 0 :(得分:2)
在你的情况下,将值声明为空是没有意义的,因为你要在下一行修改它。
但是,如果分配发生在其他地方并且您想要使用!
的变量,则应检查该字符串是否具有?
的值。如果text
为nil
,则不会调用此方法。
text? += "! How r you?"
答案 1 :(得分:2)
你必须定义没有感叹号的变量,如:
var text: String = ""
text = "hello"
text += "! How r you?"
或者上下文功能更短:
var text: String = "hello"
text += "! How r you?"
答案 2 :(得分:2)
在Swift中处理感叹号时,您必须记住,尝试使用!
访问不存在的可选值会触发运行时错误。
如果可选项有值,则认为“不等于nil”。因此,您必须先检查这一点,然后才能访问其基础值:
if text != nil {
text += "! How are you?"
}
答案 3 :(得分:1)
你可以通过这样做来获得它
var text = "Hello!" as! String
text = text + " How are you?"
希望它有所帮助。