Mam już kod do sortowania według 1 wartości, jak pokazano poniżej, ale zastanawiam się, jak sortować za pomocą wielu wartości? Chciałbym sortować według zestawu, a następnie przez someString.Jak sortować tablicę struktur według wielu wartości?
Jedna jest liczbą całkowitą, a jedna jest ciągiem w tym przypadku. Zastanawiałem się nad konwersją liczby całkowitej na ciąg, a następnie łącząc je, ale uważam, że musi istnieć lepszy sposób, ponieważ mogę mieć 2 liczby całkowite do sortowania według przyszłości.
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) - \(sorted[index].someString)")
}
Dzięki @Aaron za poprawienie kodu. – Cyrille