我想为这样的订单状态创建一个枚举
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 中访问 status。如何在 Order to Status 中设置值?
答案 0 :(得分:1)
您忘记将 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)
]
}
}