티스토리 뷰
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 |