swift - 在模型中创建枚举
问题描述
我想为这样的订单状态创建一个枚举
struct Order: Identifiable, Hashable {
var id: Int {
return elementID
}
var elementID: Int
var orderNumber: String
enum Status: String {
case complete = "Completed"
case transit = "In Transit"
case prepare = "Prepairing"
}
var date: String
func toString(forStatus status: Status) -> String {
return status.rawValue
}
}
然后我想像这样在 OrderList 中创建一个订单
struct OrderList {
static let listData: [Order] = [
Order(elementID: 0, orderNumber: "123123123123", date: "15.08.2020", status: .transit)
]
}
或者像这样
struct OrderList {
static let listData: [Order] = [
Order(elementID: 0, orderNumber: "123123123123", date: "15.08.2020").toString(forStatus: .complete))
]
}
但我可以达到 OrderList 中的状态。如何将 Order 中的值设置为 Status?
解决方案
您忘记将您的状态属性添加到Order
.
var status: Status
如果你要嵌套Status
(你应该这样做!),那么你也应该嵌套List
。
extension Order {
struct List {
static let data = [
Order(elementID: 0, orderNumber: "123123123123", date: "15.08.2020", status: .transit)
]
}
}
推荐阅读
- firebase-performance - Firebase 性能数据在 12 小时后是否始终可见?
- scala - 为什么 PrefixMap ++ PrefixMap 变成 mutable.Map
- python - 使用 rpy2 将 R 包安装/导入到 python 中,导入/忽略有问题的数据包
- haskell - 如何使用 Stack 的 package.yaml 设置 Haskell 基准测试?
- javascript - 如何让模态弹出窗口显示在图库中单击的图像?
- excel - 在excel中设置动态列引用
- c# - 如何使用 Tokenizer 解析 WhoIs 数据
- php - Mysql 查询在 AWS 服务器的生产中加载时间过长
- java - 如何在 java 的 rest 调用中将 Map 作为 requestBody 发送
- python - 为什么在创建类的实例时得到元组而不是整数?