加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 为什么’=’不能用于隐式解包的选项?

发布时间:2020-12-14 04:56:50 所属栏目:百科 来源:网络整理
导读:参见英文答案 Incrementing an implicitly unwrapped optional????????????????????????????????????2个 更新UITextView的文本时,我发现textView.text =“…”不起作用.编译器警告我“二进制运算符’=’不能应用于’String’类型的操作数.”和’字符串’“.
参见英文答案 > Incrementing an implicitly unwrapped optional????????????????????????????????????2个
更新UITextView的文本时,我发现textView.text =“…”不起作用.编译器警告我“二进制运算符’=’不能应用于’String’类型的操作数.”和’字符串’“.似乎我必须在textView.text之后添加一个感叹号.

但是,如果我将它扩展为textView.text = textView.text“…”,它就可以了.我想知道它是设计成这样还是我误解了什么?

解决方法

隐式解包可选仍然是一个可选项,它与它包装的类型不同.所以你需要定义运算符:

func +=(inout l: String!,r: String) {
    l = (l ?? "") + r
}

var a: String! = "a"
var b: String = "b"

a += b // "ab"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读