我在 Swift 代码中遇到了这个语句,当在 Playground 中执行时会出现错误:
let colors: [String: [Float]] = ["skyBlue" : [240.0/255.0, 248.0/255.0, 255.0/255.0,1.0],
"cWhite" : [250.0/255.0, 250.0/255.0, 250.0/255.0, 1.0]]
错误是:表达式过于复杂,无法在合理的时间内解决;考虑将表达式分解为不同的子表达式
然后我将数组元素类型更改为Double
,这样就可以正常工作。
但是,我在想为什么会出现这种情况?
正如我所说,使用Double
可以正常运行。因此,我的猜测是Swift尝试猜测类型,因此在这个例子中Double
比Float
更好。
[Float(240.0/255.0), ...
。 - Martin R