티스토리 뷰

Swift/문법

Swift CaseIterable 알아보기

지용빡 2022. 7. 14. 15:56
반응형
Swift CaseIterable 알아보기

출처

 

Apple Developer Documentation

 

developer.apple.com

CaseIterable이란?
  • 모든 값의 컬렉션을 제공하는 형식입니다.
  • enum의 열거형 값들을 배열과 같이 쓸 수 있도록 해주는 프로토콜
  • iOS 8.0 이상부터 사용 가능
Declaration
protocol CaseIterable
Overview
  • 아래 예제는 CaseIterable 프로토콜을 채택한 CompassDirection enum입니다. 
  • CaseIterable을 채택한 덕분에 CompassDirection의 case들을 배열처럼 사용할 수 있습니다. 
enum CompassDirection: CaseIterable {
    case north, south, east, west
}

print("There are \(CompassDirection.allCases.count) directions.")
// Prints "There are 4 directions."
let caseList = CompassDirection.allCases
                               .map({ "\($0)" })
                               .joined(separator: ", ")
// caseList == "north, south, east, west"
  • allCases는 모든 case값을 불러온다.
  • map, joined 등 고참 함수도 사용이 가능하다.
이렇게도 사용이 가능
enum Asia: CaseIterable {
    case korea
    case japan
    case china
}
print(Asia.allCases.count) // 3
Asia.allCases.forEach { print("\($0)") } // case 순차적으로 출력

 

반응형

'Swift > 문법' 카테고리의 다른 글

Swift 문자열과 문자(Strings and Characters)  (0) 2024.03.14
Swift for문 stride  (0) 2022.08.13
Swift final class 알아보기  (0) 2022.06.19
Swift String(문자열) 쉽게 다루기  (0) 2022.06.14
Swift Dictionary  (0) 2022.04.21
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함