ios - 如何将数组用作枚举的情况
问题描述
我正在使用 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]
推荐阅读
- javascript - 如何在反应 ag-grid 中验证行选择?
- java - 解析日期时间时出错,带有有效时间戳的 DateTimeParseException
- mysql - 从 3 个不同的列中选择不同的记录
- vb.net - 如何将字符串转换为时间跨度?视觉基础,秒表,圈系统
- java - Java - 将整数复制到长
- android - 相对布局上方的线性布局(重力底部)
- angular - 从 API 访问实时数据(访问 Dynamo DB 数据)而无需在 Angular 6 中刷新页面(异步)
- python - 在 django 中获取基于时间的模型统计信息
- python - 将二维 numpy 数组与一维 numpy 数组进行比较
- android - 底部导航视图缩小