Как создать логическое значение с несколькими значениями в SwiftUI?

Допустим, у меня есть компонент SwiftUI, и я хочу, чтобы он менял цвет в соответствии с параметром, который я выбираю, например:

Component(colorValue: "1")
Component(colorValue: "2")
Component(colorValue: "3")

colorValue: 1 изменит цвет моего компонента на красный, 2 на зеленый, 3 на синий, например.

Когда в начале моего проекта у меня было только 2 цвета, я использовал логическое значение в своем компоненте:

Rectangle().fill(Color(colorValue ? "red" : "blue"))

Но теперь, когда у меня есть несколько вариантов выбора, как я могу добиться изменения цвета, проверив значение строки colorValue?

Заранее спасибо !


person albec    schedule 19.03.2020    source источник


Ответы (1)


просто используйте функцию

func getColorValue() -> Color {
  if colorValue == 1 { return .red }
  // and so on
}

Rectangle().fill(Color(getColorValue()))
person Chris    schedule 19.03.2020