斯威夫特枚举复杂rawvalues
问题描述:
基本上,我希望做的是斯威夫特枚举复杂rawvalues
enum MyEnum : MyObject {
case first = MyObject(value1, value2, value3)
...
}
我看过的文件,并试图编写类似的东西,但它看起来就像是不可能的,因为rawvalue类型复杂。
我的问题是:这样的复杂类型的枚举可以做到吗? 如果没有,您会推荐哪种设计(因为我想避免制作巨大的开关盒)?
非常感谢!
答
这里是实现这一
enum CroudInfo: String {
case bitkom = "Битком"
case free = "Свободно"
case avarage = "Загружено"
func values() -> (title: String, image: UIImage, textColor: UIColor, fullImage: UIImage) {
switch self {
case .bitkom:
return (self.rawValue, UIImage(named: "redValue")!, UIColor(red: 208/255, green: 19/255, blue: 0/255, alpha: 1), UIImage(named: "redImage")!)
case .free:
return (self.rawValue, UIImage(named: "greenValue")!, UIColor(red: 84/255, green: 175/255, blue: 98/255, alpha: 1), UIImage(named: "greenImage")!)
case .avarage:
return (self.rawValue, UIImage(named: "yellowValue")!, UIColor(red: 247/255, green: 157/255, blue: 0/255, alpha: 1), UIImage(named: "yellowImage")!)
}
}
}
我认为你在寻找的是类似[这个答案]的例子(https://stackoverflow.com/questions/41922097/enum-of-structs -in-迅速-3-0/41922262#41922262)。 –