열거형

iOS/Swift

[iOS] Swift - enum (2)

enum(1): https://dew-it.tistory.com/59 Associated Values (연관 값) Swift의 enum 객체의 멤버와 각 값은 객체 선언 시점에 정의된다. 즉 컴파일 시점에 enum 멤버의 정의와 값이 고정된다. 그렇지만 값을 사용하는 시점, 즉 런타임 시점에 보조값을 할당할 수도 있다. 이러한 보조값을 Associated Values라고 부른다. enum ImageFormat { case JPEG case PNG (Bool) case GIF(Int, Bool) } var newImage = ImageFormat.PNG(true) newImage = .GIF(256, false) 이미지 포맷 중 png는 투명값을 설정할 수도 있고 하지 않을 수도 있다. 이때 bool 타입..

iOS/Swift

[iOS] Swift - enum (1)

Enum이란? Enumeration의 약어로, 하나의 카테고리로 묶을 수 있는 데이터들로 구성된 자료형 객체이다. 클래스, 구조체, 딕셔너리도 비슷한 데이터들을 하나의 카테고리로 묶은 자료형이다. 그리고 사용하기 위해서는 매번 필요할 때마다 인스터스를 생성하여 데이터에 값을 '할당'하여 사용하여야 한다. 반면 Enum은 인스턴스를 생성할 수 없다. 그리고 데이터들은 enum을 정의하는 시점에 같이 정의된다. 쉽게 말하면 enum은 데이터 저장을 위한 자료형 객체가 아니고, 타입 정의를 위한 자료형 객체인 것이다. 그렇기 때문에 객체의 데이터 값을 '할당'할 수 없으며 런타임 시점에 데이터의 값을 변경할 수 없다. enum에 정의된 데이터의 값을 바꾸고 싶으면 정의부를 직접 수정하여야 한다. 따라서 enu..