【发布时间】:2022-01-05 20:47:38
【问题描述】:
我有这段代码,但其中有问题 我需要使用结构和计算属性根据 red 、 green 和 blue 的值来确定颜色名称。
struct Colour {
var red:Int
var green:Int
var blue:Int
var colourName: String
var chosenColour: String {
return "The colour is \(colourName)"
}
}
var colour = Colour(red:255 , green:255 , blue:255,
colourName:"White" )
print(colour.chosenColour)
我该如何解决?
【问题讨论】:
-
您的方法有一个重大缺陷:颜色有两个真实来源(一个是它的 RGB 组件,一个是它的名称)。如果两者发生冲突怎么办?例如。如果我写
Colour(red:0 , green:0 , blue:0 , colourName: "pink")怎么办?您应该使用 RGB 组件值来派生名称,而不是要求用户将名称冗余地提供给组件值。 -
感谢您的解释
-
每个颜色通道不再使用 8 位。