TCA
-
TCA BindingiOS/TCA 2024. 3. 5. 22:16
강의를 듣다가 새로운 것을 발견하여 기록한다. 기존에 TCA 아키텍처 기반으로 TextField의 text를 받아올 때 다음과 같이 사용했었다. 1) import SwiftUI import ComposableArchitecture struct SomethingView: View { let store: StoreOf @State var email: String = "" var body: some View { WithViewStore(self.store, observe: { $0 }) { viewStore in VStack { TextField("이메일을 입력하세요", text: $email) .padding() .onChange(of: email) { viewStore.send(.textChanged($0..
-
TCA ToastiOS/TCA 2024. 3. 4. 15:02
State, Action, Reducer를 이용하여 TCA를 어느정도 사용할 줄은 알지만Effect 처리 하는 방법에 대해 공부가 필요하다. case .nameButtonTapped: state.name = "hello Mr.L" return .none 일반적으로 View에서 Action을 호출해서 State을 변경시키고 종료시키는 것이 많긴하지만,만약 Timer나 API 호출이 필요하다면 return .none 으로 끝나서는 안된다. 오늘 예제에서는 Toast Message를 3초간 띄워주고 없애는 것을 해보려고 한다. View에 아래와 같이 Button과 Toast로 띄워줄 Text를 만들어보자Text는 isShowToast가 true일 때 보여줄 예정이다. Button("Toast 보이기") { v..
-
TCA 1.0 The BasiciOS/TCA 2024. 3. 3. 00:23
TCA(The Composable Architecture) 1.0을 정리해보자.(글을 쓰고 있는 지금 현재 TCA 버전 1.9.1이 최신 버전이라는 것은 비밀..😱) 일단 TCA는 선언형 UI인 SwiftUI와 잘 맞는 아키텍처로 알려져있고, 또 단방향 Flow라는 특징을 가지고 있다. 간략하게 설명하면 View에서 어떤 action이 들어오면 TCA Store 내부 Action에서 State를 변경 시켜주고, 그 변경된 State를 SwiftUI View에서 감지하여 화면이 업데이트 되는 방식이다. (대충 위의 그림과 같은 데이터의 방향성을 가진다. (출처: https://www.merowing.info/multi-store-tca/)) 기존 1.0 버전 이전에서는 State, Action, Reduc..