我们正在使用枚举这样的基本数据结构:
enum Industry: String {
case Industry1 = "Industry 1", Industry2 = "Industry 2", Industry3 = "Industry 3"
static let allValues = [Industry1, Industry2, Industry3]
}
当我们将值存储在数据库中时,我们将它们存储为Ints / numbers。因此,例如,Industry的值可能是2,即Industry2。
如何将值2映射回枚举中的相关项?所以我可以检索字符串值吗?
答案 0 :(得分:3)
您可以这样做以拥有任意行业名称:
enum Industry: Int {
case Industry1 = 1, Industry2, Industry3
static let allValues = [Industry1, Industry2, Industry3]
func industryName() -> String {
switch self {
case .Industry1: return "Industry A"
case .Industry2: return "Industry B"
case .Industry3: return "Industry C"
}
}
}
使用示例:
let industry = Industry(rawValue: 2)
industry?.industryName() // prints "Industry B"
答案 1 :(得分:1)
行业没有更好的代表。您应该将行业名称和代码打包在一个更好的结构中,如下所示:
struct Industry {
var name: String
var code: Int
}
现在您可以创建一个可以包含所有行业的商店类。 通过枚举,你并没有很好地代表它。为了保存一件事并展示其他东西。
现在,如果您需要保存,industry.code
如果您想显示industry.name
答案 2 :(得分:0)
根据您的设置,您可以:
let n = 2
let stringValue = Industry.allValues[n - 1].rawValue