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" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |