728x90
안녕하세요.
TCA(The Compoasable Architecture)를 보다가 알게 된 CasePaths의 컨셉과 사용법에 대해서 아주 간단하게 알아볼게요.
구조체와 클래스 프로퍼티는 Swift의 KeyPath를 사용할 수 있습니다.
그리고 compile time 때 KeyPath 클래스의 인스턴스로 변경됩니다.
하지만 enum 타입의 경우 KeyPath를 사용 못하죠.
이때 CasePaths는 enum 타입을 KeyPath처럼 사용할 수 있게 해줍니다.
KeyPath는 역슬래시를 사용하지만 Casepaths는 그냥 슬래시를 사용해요.
KeyPath처럼 값을 설정할 수 있고 값을 얻어올 수도 있어요.
(다만, 값을 가져올 경우 case가 일치하지 않는 경우가 있기 때문에 Optional 타입입니다.)
# 참고
- https://github.com/pointfreeco/swift-case-paths
이번 글은 여기서 마무리.
반응형
'Swift' 카테고리의 다른 글
[Swift 5.8] weak self 사용 시 self 생략 가능해짐 (0) | 2023.05.15 |
---|---|
KeychainAccess Array 저장 API 추가하기 (0) | 2023.04.20 |
Result Builders (0) | 2023.04.02 |
@dynamicMemberLookup (0) | 2023.03.06 |
computed property vs method (0) | 2023.01.13 |