Swift는 객체의 느낌으로 사용하는 3개의 개체가 있다. struct, class, enumeration이 그것이다. struct는 apple에서 권장하고, 실제로도 대체하는 것이 좋다고 생각되는 자료구조이고, enum의 경우 다른 언어보다 기능이 많이 추가되었다. property와 method 작성도 가능하다. 실제로 enum의 경우 값을 관리하는 목적으로 많이 사용했었다. 3개의 자료구조의 공통점과 차이점에 유의하며
읽다보면 금방 이해가 될 듯하다. 그럼 시작해보자.
===
, !==
연관된 Value들의 공통 Type을 정의할 경우 사용
Type-Safe한 방법으로 사용 가능
특정 값으로 Raw Value 지정 필수 아님
Raw Value 사용 가능 자료 구조
사용 가능 기능
Raw Value의 묵시적 할당
enum Planet: Int {
case mercury = 1, venus, earth, mars, jupiter, saturn, uranus, neptune // 2, 3, 4, 5, 6, 7, 8
}
enum CompassPoint: String { // RawValue type String으로 지정시
case north, south, east, west // member 이름이 RawValue가 됨
}
Iterating
CaseIterable
ProtocolAssociated Values
enum Barcode {
case upc(Int, Int, Int, Int)
case qrCode(String)
}