티스토리 뷰

iOS/Swift-Memo

CaseIterable

malrang-malrang 2022. 2. 19. 13:34

CaseIterable

When using a CaseIterable type, you can access a collection of all of the type’s cases by using the type’s allCases
property.

enum(열거형) 에서 caseIterable 프로토콜을 채택 할경우 allCases 타입 프로퍼티를 사용할수 있게 해준다.

예시

enum Something: CaseIterable {
    case a, b, c
}

let someCharacter = Something.allCases.randomElement()

위의 예시 처럼 enum 을 컬렉션 타입처럼 활용할수 있게 된다.

 

작동 방식은 프로토콜을 채택하였기 때문에 CaseIterable 의 해당 구현부를 enum에 구현시켜두어야 하지만 구현하지 않는다면

컴파일러가 자동으로 구현해주어 따로 구현하지 않아도 됩니다.

 

즉 따로 구현부를 작성하지 않아도 allCases를 사용할수 있게 해줍니다.

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

MetaType, self 와 Self  (0) 2022.04.29
JSON, Encoding, Decoding, Codable  (0) 2022.04.29
Assets 에서 Json 파일 읽기(NSDataAsset)  (0) 2022.04.29
Optional(옵셔널) 언래핑 방법들  (0) 2022.02.11
Optional(옵셔널) 과 Nil(닐)  (0) 2022.02.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/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
글 보관함