[swift] 정렬 함수의 확장 기능 사용하기
Swift에서는 배열을 정렬하는 데 사용할 수 있는 내장된 정렬 함수가 있습니다. 하지만 때로는 이 함수에 추가 기능을 포함시키고 싶을 수도 있습니다. 이때, 정렬 함수의 확장 기능을 사용하면 원하는 기능을 쉽게 추가할 수 있습니다.
정렬 함수 확장 기능 만들기
Swift에서 내장된 정렬 함수를 확장하기 위해 extension
키워드를 사용합니다. 아래는 배열을 정렬하는데 사용되는 내장된 sorted()
함수를 확장하여 특정 조건에 따라 정렬하는 확장 기능을 만드는 예제입니다.
extension Array where Element: Comparable {
func sortByCondition() -> [Element] {
return self.sorted(by: { $0 < $1 })
}
}
위의 예제에서는 sortByCondition()
함수를 정의하여 배열을 오름차순으로 정렬합니다. $0
과 $1
은 클로저에서 첫 번째와 두 번째 요소를 나타내는 매개변수입니다. sorted(by:)
함수를 호출하여 배열을 정렬하고, 함수의 결과를 반환합니다.
확장 기능 사용 예제
확장 기능을 사용하여 배열을 정렬하는 예제입니다.
let numbers = [5, 2, 9, 1, 3]
let sortedNumbers = numbers.sortByCondition()
print(sortedNumbers) // [1, 2, 3, 5, 9]
위의 예제에서는 numbers
배열을 정렬하기 위해 sortByCondition()
함수를 호출한 결과를 sortedNumbers
에 할당하고, 정렬된 결과를 출력합니다.
결론
Swift의 확장 기능을 사용하면 내장된 정렬 함수에 원하는 기능을 추가할 수 있습니다. 정렬 함수를 확장하여 사용하면 코드의 가독성과 재사용성을 높일 수 있습니다.
참고 문서: Swift 공식 문서 - Extensions