可选类型“UIColor?”的值必须解包为“UIColor”类型的值

使用

self.backgroundColor = .init(named: "my-color")

这里self是一个UIView,触发此错误:

可选类型“UIColor?”的值 必须
使用 '??'展开为类型为 'UIColor' Coalesce的值 当可选值包含“nil”时提供默认值 [Fix]
使用“!”强制解包 如果可选值包含“nil”,则中止执行[修复]

编译器知道该backgroundColor属性是 type UIColor?,所以它应该为初始化程序推断它,对吗?

此外,知道该属性是可选的,错误消息对我来说没有太大意义。

此外,两个自动修复都是“递归的”,这意味着它们不会修复错误,我可以一遍又一遍地应用它们。

注意:我知道我可以使用UIColor.init或简单地使用UIColor. 这只是一个简化的例子。

回答

我认为这个错误没有意义,经过一些研究,我发现它实际上是 Swift 中的一个已知错误。参考在这里。
基本上,编译器似乎试图通过可选项来查找您的初始值设定项。
似乎该修复程序将随下一个版本一起提供。


以上是可选类型“UIColor?”的值必须解包为“UIColor”类型的值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>