swift - 可选类型 'UIColor?' 的值必须解包为类型 'UIColor' 的值

标签 swift syntax-error option-type

使用

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

其中 self 是一个 UIView,触发此错误:

Value of optional type 'UIColor?' must be unwrapped to a value of type 'UIColor'
Coalesce using '??' to provide a default when the optional value contains 'nil' [Fix]
Force-unwrap using '!' to abort execution if the optional value contains 'nil' [Fix]

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

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

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

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

最佳答案

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

关于swift - 可选类型 'UIColor?' 的值必须解包为类型 'UIColor' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65706868/

相关文章:

swift - 关闭 : Use unresolved identifier 'self'

ios - Google Places 的 Google API key 问题

generics - 初始化器作为 Swift 中转换为新类型的一种方式

Swift 解包可选类变量产生失败

Swift:初始化具有大量属性的模型类的正确方法

objective-c - ReactiveCocoa 5.0 中的 RACObserve(object, keyPath)

ios - UISlider 不调用辅助功能增量和减量

python - 二进制/十六进制浮点输入

python - 添加矩阵python

batch-file - 设置语法批处理脚本错误