首页 > 解决方案 > 如何将数组用作枚举的情况

问题描述

我正在使用 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]
}

任何想法如何将顶部的枚举更改为底部的枚举?谢谢你!

标签: iosarraysswiftxcodeenums

解决方案


只需创建一个静态属性:


enum Types: String, Codable, CaseIterable {
    case type1, type2, type3, type4, type5
    static let someCases: [Types] = [.type1, .type2, .type3] 
}

Types.someCases  // [type1, type2, type3]

推荐阅读