[swift] 연관 값을 가진 열거형 정의하기
Swift
에서는 강력한 타입 안정성과 유연성을 제공하는 연관 값을 가진 열거형을 정의할 수 있습니다. 연관 값을 가진 열거형은 각 케이스에 관련 데이터를 연결하여 유연한 모델링을 가능케 합니다.
연관 값을 가진 열거형 정의하기
enum OrderStatus {
case pending
case processing
case completed(trackingNumber: String)
case failed(errorCode: Int, errorMessage: String)
}
위의 예시에서 OrderStatus
열거형은 pending
, processing
, completed
, failed
네 가지 케이스를 갖고 있습니다. completed
와 failed
케이스는 각각 연관 값인 trackingNumber
와 errorCode
, errorMessage
를 가지고 있습니다.
이렇게 정의된 OrderStatus
열거형은 다양한 주문의 상태를 표현할 수 있으며, 각 상태마다 관련 데이터를 저장할 수 있습니다.
연관 값을 활용하기
var status: OrderStatus = .completed(trackingNumber: "ABC123")
switch status {
case .pending:
print("주문이 접수되었습니다.")
case .processing:
print("주문이 처리 중입니다.")
case .completed(let trackingNumber):
print("주문이 배송 완료되었습니다. 송장 번호: \(trackingNumber)")
case .failed(let errorCode, let errorMessage):
print("주문이 실패했습니다. 에러 코드: \(errorCode), 메시지: \(errorMessage)")
}
위의 예시는 OrderStatus
열거형을 활용한 간단한 switch
문입니다. switch
문을 통해 각 상태에 따라 연관 값에 접근하여 다른 작업을 수행할 수 있습니다.
Swift
의 연관 값을 가진 열거형은 복잡한 상태를 나타내고 다루는 데 매우 유용합니다.
참고 자료: The Swift Programming Language - Enums
swift, 열거형, 연관 값, 모델링, 데이터, switch문