Опция 1 - Вы можете расширить UIColor, чтобы перечислить все ваши цвета и создать массив:
extension UIColor {
struct GoTimeThemes {
static let firstColor = UIColor(red: 48.0/255.0, green: 35.0/255.0, blue: 174.0/255.0, alpha: 1.0)
static let secondColor = UIColor(red: 83.0/255.0, green: 160.0/255.0, blue: 263.0/255.0, alpha: 1.0)
static let thirdColor = UIColor(red: 146.0/255.0, green: 80.0/255.0, blue: 156.0/255.0, alpha: 1.0)
static var allColors: [UIColor] {
let colors = [firstColor, secondColor, thirdColor]
return colors
}
}
}
И назвать свой массив так:
let colors = UIColor.GoTimeThemes.allColors
Вариант 2 - Вы можете поместить свои цвета в Enum, который соответствует CaseIterable
:
enum ThemeColors: CaseIterable {
case firstTheme, secondTheme, thirdTheme
var color: UIColor {
switch self {
case .firstTheme:
return UIColor(red: 48.0/255.0, green: 35.0/255.0, blue: 174.0/255.0, alpha: 1.0)
case .secondTheme:
return UIColor(red: 83.0/255.0, green: 160.0/255.0, blue: 263.0/255.0, alpha: 1.0)
case .thirdTheme:
return UIColor(red: 146.0/255.0, green: 80.0/255.0, blue: 156.0/255.0, alpha: 1.0)
}
}
}
И вызвать его с помощью allCases
, чтобы получить коллекцию:
ThemeColors.allcases //→ [firstTheme, secondTheme, thirdTheme]