Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] enum Equatable 비교 연산자 만드는 방법 본문

iOS 응용 (swift)

[iOS - swift] enum Equatable 비교 연산자 만드는 방법

jake-kim 2021. 2. 23. 21:35

enum 타입에 같은지 비교하는 연산자를 적용하는 방법

  • enum 타입 예시
enum JobType {

    case singer
    case engineering
    case dentist
}
  • Equatable 구현
enum JobType: Equatable {

    case singer
    case engineering
    case dentist
}
  • "static func ==  "로 연산자 구현
    * 참고 - lhs: left hand side, 첫번째 매개변수를 lhs, 두번째 매개변수를 rhs
enum JobType: Equatable {
    case singer
    case engineering
    case dentist

    static func == (lhs: Self, rhs: Self) -> Bool {
        switch (lhs, rhs) {
        case (.singer, .singer),
             (.engineering, .engineering),
             (.dentist, .dentist):
            return true
        default:
            return false
        }
    }
}
  • 사용 (디폴트로 존재하는 '=='와 기능은 같지만, 여러개의 커스텀 가능)
let jobType = JobType.dentist
print(jobType == .dentist) // true

 

Comments