我想创建一个简单的UIColor扩展,这样我就可以这样做:
extension UIColor {
enum colorString: String {
....
}
}
let array: [UIColor.colorString] = [ .red, .green, .blue]
let color: UIColor = array[1]
let text: String = array[1].rawValue
但是我很难让扩展部分正常工作。我尝试了多次尝试但没有成功。我可能错过了什么。我将衷心感谢您的帮助。
答案 0 :(得分:1)
你可以这样做。取决于你想要做多少颜色。不确定你打算用它做什么,但它看起来不是最有用的扩展。
extension UIColor {
convenience init(_ colorString: ColorString) {
switch colorString {
case .red:
self.init(red:1.0, green:0.0, blue:0.0, alpha:1.0)
case .green:
self.init(red:0.0, green:1.0, blue:0.0, alpha:1.0)
case .blue:
self.init(red:0.0, green:0.0, blue:1.0, alpha:1.0)
}
}
enum ColorString: String {
case red
case green
case blue
}
}
您从colorString到UIColor的转换必须是
形式let color = UIColor(array[1])