Swift에서의 열거형(Enum)은 연관된 값들의 그룹을 나타내기 위한 강력한 타입입니다. 열거형은 특정 타입의 값을 나열하고, 이들 값을 쉽게 사용할 수 있는 방법을 제공합니다. 열거형의 개념과 활용 예시를 상세하게 설명하고 다양한 예시를 보여드리겠습니다.
열거형은 서로 연관된 값들의 그룹을 나타냅니다. 각 값은 고유한 이름을 가지며, 해당 값들은 열거형의 가능한 모든 경우(case)를 나타냅니다. Swift의 열거형은 C 언어나 Objective-C의 열거형과는 다소 다르게, 연관 값(associated values)이나 메서드를 가질 수 있습니다.
enum CompassDirection {
case north
case south
case east
case west
}
var direction: CompassDirection = .north
switch direction {
case .north:
print("Heading north")
case .south:
print("Heading south")
case .east:
print("Heading east")
case .west:
print("Heading west")
}
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}
var productCode: Barcode = .upc(8, 85909, 51226, 3)
switch productCode {
case .upc(let numberSystem, let manufacturer, let product, let check):
print("UPC: \(numberSystem)-\(manufacturer)-\(product)-\(check)")
case .qrCode(let code):
print("QR Code: \(code)")
}
enum Planet {
case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune
var numberOfMoons: Int {
switch self {
case .mercury, .venus, .earth, .mars:
return 0
case .jupiter, .saturn:
return 4
case .uranus, .neptune:
return 2
}
}
func description() -> String {
switch self {
case .earth:
return "The Blue Planet"
default:
return "A planet"
}
}
}