如何使用数组作为枚举的例子

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]