Aşağıda gösterildiği gibi 1 değerine göre sıralama yapmak için kodum var, ancak birden çok değer kullanarak nasıl sıralanacağımı merak ediyorum. Setine göre sıralamak istiyorum ve sonra bazındaString.Bir dizi yapıyı birden çok değere göre nasıl sıralarım?
biri bir tam sayıdır ve kimse bu durumda bir dizedir. Tamsayı bir dizgeye dönüştürmeyi ve daha sonra bunları birleştirmeyi düşünmüştüm, ama daha iyi bir yol olmalı diye düşündüm çünkü gelecekte sıralamak için 2 tane tam sayıya sahip olabilirim.
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)")
}
Kodumu düzeltmek için teşekkürler @Aaron. – Cyrille