[swift] PhoneNumberKit을 사용하여 전화번호들을 정렬하기

이번에는 Swift에서 PhoneNumberKit을 사용하여 전화번호들을 정렬하는 방법에 대해 알아보겠습니다. PhoneNumberKit은 Swift로 개발된 전화번호 파싱 및 검증을 위한 라이브러리입니다. 이 라이브러리를 사용하면 전화번호들을 쉽게 처리하고 정렬할 수 있습니다.

PhoneNumberKit 설치하기

먼저 PhoneNumberKit을 설치해야 합니다. 프로젝트의 Podfile에 다음과 같이 추가합니다:

pod 'PhoneNumberKit'

그런 다음 터미널에서 다음 명령어를 실행하여 의존성을 설치합니다:

$ pod install

전화번호들을 정렬하는 함수 작성하기

PhoneNumberKit을 사용하여 전화번호들을 정렬하기 위해 다음과 같은 함수를 작성할 수 있습니다:

import PhoneNumberKit

func sortPhoneNumbers(phoneNumbers: [String]) -> [String] {
    let phoneNumberKit = PhoneNumberKit()
    var parsedNumbers: [PhoneNumber] = []
    
    for phoneNumber in phoneNumbers {
        do {
            let parsedNumber = try phoneNumberKit.parse(phoneNumber)
            parsedNumbers.append(parsedNumber)
        } catch {
            // 예외 처리
        }
    }
    
    let sortedNumbers = parsedNumbers.sorted { (number1, number2) -> Bool in
        number1.countryCode < number2.countryCode
    }
    
    return sortedNumbers.map { (number) -> String in
        return phoneNumberKit.format(number, toType: .e164)
    }
}

위의 함수는 PhoneNumberKit을 사용하여 주어진 문자열 배열에서 전화번호를 파싱하고, 국가 코드를 기준으로 정렬한 후, E.164 형식으로 포맷팅한 전화번호들로 이루어진 배열을 반환합니다.

사용 예시

아래는 위에서 작성한 함수를 사용하는 예시입니다:

let phoneNumbers = ["+821012345678", "+12015556666", "+447777888999", "+81333333333"]
let sortedPhoneNumbers = sortPhoneNumbers(phoneNumbers: phoneNumbers)

print(sortedPhoneNumbers)

위의 코드를 실행하면, 다음과 같은 결과가 출력됩니다:

["+12015556666", "+447777888999", "+81333333333", "+821012345678"]

결론

Swift에서 PhoneNumberKit을 사용하여 전화번호들을 정렬하는 방법에 대해 알아보았습니다. PhoneNumberKit은 전화번호를 파싱하고 포맷팅하는 작업을 간단하게 처리해주는 유용한 라이브러리입니다. PhoneNumberKit을 통해 전화번호 처리 작업을 더 효율적으로 수행할 수 있습니다.