itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 개발자
  • 킨디
  • POSTECH
  • SwiftUI
  • 세그멘테이션
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • CoreData
  • nosql
  • AppleDevloperAcademy
  • 독립서점
  • SWIFT
  • mongodb
  • 어플
  • 생활코딩
  • ios
  • 점주
  • crud
  • 연결리스트
  • binding
  • CS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

[iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 15. 열거형
iOS/Swift

[iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 15. 열거형

2021. 7. 21. 17:25

열거형

enum 이름 {
	case 이름1
    case 이름2
    case 이름3, 이름4, 이름5
    ...
}

열거형 기본 예시

 

 

열거형 사용

 

 

 

rawValue (원시값)

정수타입의 원시값

정수 타입 뿐만 아니라, Hashable 프로토콜을 따르는 모든 타입을 원시값의 타입으로 지정할 수 있다.

Hashable 프로토콜의 rawValue

case university의 원시값을 우리가 지정해주지 않았다. 정수값도 아니기에 자동으로 1씩 증가하지도 않는다. 이 상황에서 university의 rawValue값을 부르면 어떤 결과가 나올까?

에러가 발생하는 것이 아니고, case의 이름을 원시값으로 사용한다. 

 

 

원시값을 통한 초기화

rawValue를 통해 초기화한 열거형 값은 옵셔널 타입이다. 그래서 Fruit? 라고 써줘야 한다. 안그럼 에러 발생

if let 구문을 사용하면 rawValue에 해당하는 케이스를 곧바로 사용 가능!

 

 

메소드

Swift의 열거형에는 메소드도 추가할 수 있다.

'iOS > Swift' 카테고리의 다른 글

[iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 17. 클로저 기본  (0) 2021.07.22
[iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 16. 클래스 vs 구조체 / 열거형  (0) 2021.07.21
[iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 14. 클래스  (0) 2021.07.21
[iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 13. 구조체  (0) 2021.07.21
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 12. 옵셔널 추출  (0) 2021.07.18
    'iOS/Swift' 카테고리의 다른 글
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 17. 클로저 기본
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 16. 클래스 vs 구조체 / 열거형
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 14. 클래스
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 13. 구조체
    itisjustK
    itisjustK

    티스토리툴바