[swift] Swift에서 다중 정렬 기준 적용하기

Swift는 유용한 다중 정렬 기능을 제공합니다. 이 기능을 통해 여러 개의 정렬 기준을 적용하여 데이터를 정렬할 수 있습니다. 이 글에서는 Swift에서 다중 정렬 기준을 적용하는 방법에 대해 알아보겠습니다.

다중 정렬 기준을 적용하기 위해서는 Swift의 sorted(by:) 메서드를 사용해야 합니다. sorted(by:) 메서드는 정렬할 배열을 매개변수로 받고, 해당 배열을 정렬한 새로운 배열을 반환합니다. 이때 매개변수로 사용되는 클로저를 통해 정렬 기준을 지정할 수 있습니다.

다중 정렬을 적용하려면 클로저에서 여러 개의 정렬 기준을 사용해야 합니다. 클로저는 현재 비교 중인 요소들을 매개변수로 받고, return 키워드를 사용하여 비교 결과를 반환합니다. 여러 개의 정렬 기준을 적용하기 위해 클로저 안에서 필요한 만큼 if-elseswitch문을 사용할 수 있습니다.

다음은 Person이라는 구조체를 정렬하는 예제입니다. Person은 이름과 나이를 저장하는 속성을 가지고 있으며, 나이를 우선으로 정렬한 후에 이름을 정렬합니다.

struct Person {
    let name: String
    let age: Int
}

let people = [
    Person(name: "John", age: 30),
    Person(name: "Jane", age: 25),
    Person(name: "Tom", age: 40)
]

let sortedPeople = people.sorted { (person1, person2) -> Bool in
    if person1.age == person2.age {
        return person1.name < person2.name
    } else {
        return person1.age < person2.age
    }
}

print(sortedPeople)
// 출력: [Person(name: "Jane", age: 25), Person(name: "John", age: 30), Person(name: "Tom", age: 40)]

위 예제에서는 나이를 비교한 후에 동일한 경우에는 이름을 비교하여 정렬합니다. 이렇게 다중 정렬을 적용하면 필요한 기준에 따라 데이터를 정렬할 수 있습니다.

Swift에서 다중 정렬은 매우 유용한 기능으로서 데이터를 정확하게 정렬할 수 있도록 도와줍니다. 위의 예제를 참고하여 다중 정렬을 적용해보세요!