Swift

CasePaths 맛보기

Phililip
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

 

GitHub - pointfreeco/swift-case-paths: 🧰 Case paths bring the power and ergonomics of key paths to enums!

🧰 Case paths bring the power and ergonomics of key paths to enums! - GitHub - pointfreeco/swift-case-paths: 🧰 Case paths bring the power and ergonomics of key paths to enums!

github.com

 


이번 글은 여기서 마무리.

 

 

 

반응형

'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