
SwiftUI로 앱을 개발하다 보면 화면이 복잡해질수록 상태 관리가 점점 어려워진다. @State, @Binding, @StateObject를 혼용해서 사용하다 보면 특정 값이 어디서, 어떤 경로로 변경되는지 추적하기 어려운 시점이 온다. TCA(The Composab

지난 글(TCA란 무엇인가?)에서는 TCA가 어떤 문제의식에서 출발했는지, 그리고 단방향 데이터 흐름이라는 핵심 철학을 정리했다. 이번 글에서는 그 철학을 실제로 구현하는 세 가지 요소, State와 Action, Reducer를 코드로 작성해본다. TCA 관련 타입을

TCA로 토이 프로젝트의 초반 코드를 작성하던 중 아래와 같은 에러를 마주쳤다. 원인을 찾는 과정과 해결 방법을 기록해둔다.이렇게 아주 단순한 코드에서도 다음과 같은 에러가 떴다.당시 환경은 Xcode 16.4swift-composable-architecture 1.2

지난 글들에서 State, Action, Reducer를 코드로 작성해봤다. 이번 글에서는 Splash → Home 화면 전환을 구현하면서 궁금해졌던 부분, 즉 Store가 실제로 어떻게 생성되고, 여러 화면에 어떻게 나눠지고, send를 호출했을 때 내부적으로 어떤

지난 글(TCA의 Store는 내부적으로 어떻게 동작할까)에서는 Store와 Scope가 어떻게 하나의 Root Store를 중심으로 동작하는지 정리했다. 이번 글에서는 그 지식을 바탕으로, TCA가 네트워크 같은 외부 의존성을 다루는 방식인 @Dependency를 정

지금까지 State, Action, Reducer, Store, Effect, Dependency를 배우면서 날씨 앱의 Splash → Main 전환 흐름을 실제로 구현해봤다. 이번 글에서는 이 흐름이 의도대로 동작하는지 TestStore로 검증하는 방법을 정리한다.T