Swift 在模型内创建枚举
我想为订单状态创建一个枚举,如下所示Swift 在模型内创建枚举,swift,enums,Swift,Enums,我想为订单状态创建一个枚举,如下所示 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" ca
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
}
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))
]
}
}
然后我想在订单列表中创建一个订单,如下所示
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
}
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))
]
}
}
还是像这样
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
}
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))
]
}
但我可以在订单列表中找到状态。如何将值设置为状态?您忘记将状态属性添加到
顺序中
var状态:状态
如果您要嵌套状态
(您应该这么做!),那么您也应该嵌套列表
延期订单{
结构列表{
静态let数据=[
订单(elementID:0,订单号:“123123”,日期:“2020年8月15日”,状态:。运输)
]
}
}
如果我理解正确,您需要在顺序中声明状态
属性
:var status:status
。看起来您所需要的只是@Sweeper建议的内容。只需声明一个变量来保存订单状态的值。在上一个示例中,您不是在初始化订单,而是在创建字符串数组,因为toString(forStatus状态:status)->String
函数返回String
notOrder