我有這段代碼,其中有一個問題,我需要使用結構和計算屬性根據 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)
我該如何解決?
uj5u.com熱心網友回復:
計算屬性根據其他值(在物件中)計算其值。
一個有效的解決方案是一個switch宣告
struct Colour {
var red: Int
var green: Int
var blue: Int
var colourName: String
var chosenColour: String {
switch (red, green, blue) {
case (255, 255, 255): return "White"
case (0, 0, 0): return "Black"
case (255, 0, 0): return "Red"
case (0, 255, 0): return "Green"
case (0, 0, 255): return "Blue"
default: return "Mixed Colour"
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/368974.html
上一篇:在Swift中型別轉換為泛型類
