如何使用数组作为枚举的例子
how to use an array as a case of an enum
我正在使用 Swift 5.3 和 Xcode 12.4,我有一个包含类型的枚举,一个案例基本上是其他案例的数组。
它看起来像这样:
enum Types {
static let type1 = "type1"
static let type2 = "type2"
static let type3 = "type3"
static let type4 = "type4"
static let type5 = "type5"
static let typeArray = [type1, type2, type3]
}
我需要将其更改为以下内容,但是 Xcode 说“枚举大小写的原始值必须是文字”
enum Types: String, Codable, CaseIterable {
case type1
case type2
case type3
case type4
case type5
case typesArray = [type1, type2, type3]
}
有什么想法可以将顶部的枚举更改为底部的枚举吗?谢谢!
只需创建一个静态 属性:
enum Types: String, Codable, CaseIterable {
case type1, type2, type3, type4, type5
static let someCases: [Types] = [.type1, .type2, .type3]
}
Types.someCases // [type1, type2, type3]
我正在使用 Swift 5.3 和 Xcode 12.4,我有一个包含类型的枚举,一个案例基本上是其他案例的数组。 它看起来像这样:
enum Types {
static let type1 = "type1"
static let type2 = "type2"
static let type3 = "type3"
static let type4 = "type4"
static let type5 = "type5"
static let typeArray = [type1, type2, type3]
}
我需要将其更改为以下内容,但是 Xcode 说“枚举大小写的原始值必须是文字”
enum Types: String, Codable, CaseIterable {
case type1
case type2
case type3
case type4
case type5
case typesArray = [type1, type2, type3]
}
有什么想法可以将顶部的枚举更改为底部的枚举吗?谢谢!
只需创建一个静态 属性:
enum Types: String, Codable, CaseIterable {
case type1, type2, type3, type4, type5
static let someCases: [Types] = [.type1, .type2, .type3]
}
Types.someCases // [type1, type2, type3]