如何在SWIFT中连接可选的String

时间:2017-08-08 08:17:28

标签: swift string-concatenation

我想连接一个字符串,我这样做:

var text: String!
....
text = "hello" 
text += "! How r you?"

但是我收到了以下错误:

  

无法转换类型'字符串的值!'预期的参数类型   ' inout String'文字+ ="!" ^ ~~~

我该如何解决?感谢

4 个答案:

答案 0 :(得分:2)

在你的情况下,将值声明为空是没有意义的,因为你要在下一行修改它。

但是,如果分配发生在其他地方并且您想要使用!的变量,则应检查该字符串是否具有?的值。如果textnil,则不会调用此方法。

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?"

希望它有所帮助。