Ho già il codice per ordinare per 1 valore come mostrato di seguito, ma mi chiedo come ordinare utilizzando più valori? Vorrei ordinare per set e poi da someString.Come si ordina una matrice di strutture per più valori?
Uno è un numero intero e uno è una stringa in questo caso. Avevo pensato di convertire il numero intero in una stringa e poi concatenarlo, ma ho pensato che ci fosse un modo migliore perché potrei avere 2 interi da ordinare in futuro.
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)")
}
Grazie a @Aaron per correggere il mio codice. – Cyrille