SwiftUI로 개발을 진행하면서 항상 MVVM 패턴을 적용하여 개발을 했다.하지만,SwiftUI에서 MVVM은 호버보드로 날 수 있는데 굳이 바퀴를 달아서 달리는 것과 같은 말도 있었다.Stop using MVVM for SwiftUI에 관한 글그래서 다른 아키텍쳐를

Chapter1. Your First Feature 에서는 간단한 State를 만들어서 해당 num을 increment, decrement하는 Action을 통합해 Reducer로 관리하고 만든 Reducer를 View에서 참조하여 개발하는 형태로 이루어졌습니다.이번
저번 시간 'Side Effect'에서는 TCA에서 어떻게 Effect를 관리하고 처리하는지 알아보았습니다. 이번 시간은 제목에서 보여지는것처럼 개발자가 구현했던 테스트에 관한 내용입니다. TCA에서는 State, Action를 Reducer로 관리하고 이를 View
안녕하세요. 이번 시간은 Composable Architecture를 구성하는 방법을 배워볼 예정입니다. 지금까지 만들었던 CounterFeature를 포함하는 부모 feature를 만들어봅시다! Section 1. Adding a tab view 두 개의 탭이 있는
안녕하세요. 이번 시간은 Navigation Tutorial의 첫번째 장인 Your first presentation을 알아볼 예정입니다.Composable Architecture는 부모 피처에서 자식 피처를 제공하는데 도움을 주는 여러 기능들을 제공합니다. optio
안녕하세요. 이번 시간은 Navigation Tutorial의 두번째 장인 Multiple presentation destinations에 대해 알아보겠습니다. 이번 튜토리얼은 통해 여러분들은 부모 피처에서 자식 피처에게 많은 기능을 표현하려면 어떻게 하는지 배울 수
안녕하세요. 이번 시간은 드디어 Meet the Composable Architecture 튜토리얼의 마지막 장인 Navigation stacks입니다. 제목에 나와있는 Navigation Stack은 iOS 16부터 신규 제공되능 기능인데요.Navigation Sta

안녕하세요. 별똥별🌠 입니다.지난시간까지 TCA tutorial에서 제공되는 Tutorial을 학습해 보았는데요. 이번 시간부터는 Composable Atchitecture Github 라이브러리에 포함되어 있는 examples중에 'Case Study' 프로젝트를

안녕하세요. 별똥별🌠 입니다.지난시간에서는 TCA Case Studies의 첫 포문을 여는 Counter case를 공부했었는데요. 이번 시간에도 또다른 case를 통해 Composable Architecter를 공부해보도록 하겠습니다.two counter전 시간의

안녕하세요. 별똥별🌠입니다.지난 시간에는 TCA Case Studies의 또 다른 사례를 통해 Composable Architecture를 학습했었죠. 이번 시간에는 양방향 바인딩(Bidirectional Binding)을 활용하여 단방향 데이터 흐름을 유지하면서도

지난 시간에는 TCA Case Studies의 또 다른 사례를 통해 Composable Architecture를 학습했었죠. 이번 시간에는 양방향 바인딩(Bidirectional Binding)을 활용하면서, 상태를 초기화할 수 있는 리셋 기능을 추가한 예제를 소개하겠

안녕하세요. 별똥별🌠입니다!지난 시간에는 양방향 바인딩(Bidirectional Binding)을 활용하여 SwiftUI와 TCA를 결합하는 사례를 살펴보았습니다. 이번 시간에는 Optional State를 다루는 OptionalBasics 예제를 통해 TCA에서 선

안녕하세요. 별똥별🌠입니다!이번 시간에는 Composable Architecture (TCA)를 활용해 SwiftUI의 Alert와 Confirmation Dialog를 구현하는 방법을 살펴보겠습니다.이번 예제는 TCA의 단방향 데이터 흐름과 SwiftUI의 aler

안녕하세요. 별똥별🌠입니다!이번 글에서는 Composable Architecture (TCA)를 활용해 FocusState를 관리하는 방법을 소개합니다.특히 사용자 입력 필드의 초점을 제어하여 보다 직관적인 폼 인터페이스를 제공하는 사례를 살펴보겠습니다.FocusDe
업로드중..안녕하세요, 별똥별🌠입니다!이번 글에서는 Composable Architecture (TCA)를 사용해 애니메이션과 상태를 관리하는 방법을 소개합니다.드래그 제스처, 색상 변경, 스케일 효과 등 다양한 UI 동작을 TCA로 어떻게 제어할 수 있는지 살펴보겠

안녕하세요, 별똥별🌠입니다!이번 글에서는 Composable Architecture(TCA)에서 Shared 상태를 관리하는 방법에 대해 살펴보겠습니다. 특히, @Shared 프로퍼티 래퍼를 활용하여 탭 간 상태를 공유하는 방법과, 데이터를 파일 저장소(FileSto
안녕하세요, 별똥별🌠입니다!이번 글에서는 Composable Architecture(TCA)에서 Shared 상태를 관리하는 방법을 살펴보겠습니다. 특히, @Shared 프로퍼티 래퍼를 활용하여 여러 화면에서 데이터를 공유하는 방법과, InMemoryKey를 사용하여

안녕하세요, 별똥별🌠입니다!이번 글에서는 TCA(The Composable Architecture)를 활용해 복잡한 회원가입 플로우를 구현하는 방법을 알아봅니다. 여러 단계의 화면이 공유 상태를 사용해 데이터를 실시간으로 반영하며, InMemoryKey를 통해 앱 실

앱 개발 시 여러 화면(혹은 탭)에서 같은 데이터를 유지해야 할 때가 있습니다.예를 들어,카운터 탭에서 버튼을 눌러 값을 변경하면,프로필 탭에서도 그 값이 즉시 반영되어 보여져야 합니다.TCA에서는 @Shared 프로퍼티 래퍼를 사용해 Reducer 간에 상태를 손쉽게

안녕하세요, 별똥별🌠입니다!이번 글에서는 The Composable Architecture(TCA)를 활용해 Effects를 처리하는 방법을 소개합니다.예제에서는 카운터 증가/감소와, 음수일 경우 1초 후 자동으로 보정하는 효과, 그리고 네트워크 요청을 통한 숫자 팩

안녕하세요, 별똥별🌠입니다!이번 포스트에서는 TCA에서 Effect와 Cancellation(취소) 기능을 어떻게 사용하는지 살펴보겠습니다.특히, 네트워크 요청과 같이 비동기 작업을 실행하는 중에 사용자가 취소 버튼을 누르거나 값이 변경될 때, 실행 중인 Effect

안녕하세요, 별똥별🌠입니다!이번 포스트에서는 TCA를 활용해 Long-Living Effect를 어떻게 구현하는지 살펴봅니다.이 예제에서는 뷰가 나타날 때 스크린샷 알림(Notification)을 비동기적으로 지속적으로 수신하고, 해당 알림이 올 때마다 상태를 업데이

안녕하세요, 별똥별🌠입니다!이번 포스트에서는 TCA를 활용해 Refreshable Effect를 구현하는 방법을 알아보겠습니다.이 예제에서는 사용자가 화면을 당겨서 새로고침(Pull to Refresh)할 때 API 요청을 보내고, 응답을 받아 화면을 업데이트하는 방
안녕하세요, 별똥별🌠입니다!이번 포스트에서는 TCA를 활용해 Timer 기능을 구현하는 방법을 알아보겠습니다.이 예제에서는 사용자가 버튼을 눌러 타이머를 시작 및 정지할 수 있으며, 1초마다 카운트가 증가하는 구조를 다룹니다.Timer는 일정한 간격으로 동작하는 반복