为什么'+ ='不能用于隐式解包的选项?

时间:2015-12-03 08:49:33

标签: swift optional

更新UITextView的文本时,我发现textView.text += "..."不起作用。编译器警告我“二进制运算符'+ ='不能应用于'String'类型的操作数。”和'字符串'“。似乎我必须在textView.text之后添加一个感叹号。

但是,如果我将其扩展为textView.text = textView.text + "...",那就有效了。我想知道它是设计成这样还是我误解了什么?

2 个答案:

答案 0 :(得分:2)

隐式解包的可选项仍然是searchWithXPathQuery,它与它包装的类型不同。所以你需要定义operator:

Optional

答案 1 :(得分:0)

两者都不同,当你在做textField.text + =" text" ,表示你正在添加另一个字符串。但是当你使用textField.text = textField.text +" text"时,意味着你正在添加2个字符串并设置到textField中。