相关疑难解决方法(0)

如何按多个值对结构数组进行排序?

我已经有了按1值排序的代码,如下所示,但我想知道如何使用多个值进行排序?我想按set排序,然后按someString排序.

一个是整数,在这种情况下一个是字符串.我曾考虑将整数转换为字符串,然后连接它们,但认为必须有更好的方法,因为我将来可能有2个整数排序.

struct Condition {
    var set = 0
    var someString = ""
}

var conditions = [Condition]()

conditions.append(Condition(set: 1, someString: "string3"))
conditions.append(Condition(set: 2, someString: "string2"))
conditions.append(Condition(set: 3, someString: "string7"))
conditions.append(Condition(set: 1, someString: "string9"))
conditions.append(Condition(set: 2, someString: "string4"))
conditions.append(Condition(set: 3, someString: "string0"))
conditions.append(Condition(set: 1, someString: "string1"))
conditions.append(Condition(set: 2, someString: "string6"))

// sort
let sorted = conditions.sorted { (lhs: Condition, rhs: Condition) -> Bool in
    return (lhs.set) < (rhs.set)
}

// printed sorted conditions
for index in 0...conditions.count-1 {
    println("\(sorted[index].set) - …
Run Code Online (Sandbox Code Playgroud)

sorting swift

8
推荐指数
3
解决办法
2475
查看次数

标签 统计

sorting ×1

swift ×1