Cho*_*war 3 arrays sorting object swift3
假设我们有一个名为 orderFile 的自定义类,这个类包含三个属性。
class orderFile {
var name = String()
var id = Int()
var status = String()
}
Run Code Online (Sandbox Code Playgroud)
很多都存储在一个数组中
var aOrders : Array = []
var aOrder = orderFile()
aOrder.name = "Order 1"
aOrder.id = 101
aOrder.status = "closed"
aOrders.append(aOrder)
var aOrder = orderFile()
aOrder.name = "Order 2"
aOrder.id = 101
aOrder.status = "open"
aOrders.append(aOrder)
var aOrder = orderFile()
aOrder.name = "Order 2"
aOrder.id = 101
aOrder.status = "cancelled"
aOrders.append(aOrder)
var aOrder = orderFile()
aOrder.name = "Order 2"
aOrder.id = 101
aOrder.status = "confirmed"
aOrders.append(aOrder)
Run Code Online (Sandbox Code Playgroud)
问题是:我将如何根据打开、确认、关闭和取消的状态对它们进行排序?
您必须提供一个值,以便在排序函数中进行比较时会产生适当的排序。
例如:
extension orderFile
{
var statusSortOrder: Int
{ return ["open","confirmed","closed","cancelled"].index(of: status) ?? 0 }
}
let sortedOrders = aOrders.sorted{$0.statusSortOrder < $1. statusSortOrder}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1119 次 |
最近记录: |