apple/TCA 15

[TCA] OptionalState (IfLetCase)

[TCA] OptionalState (IfLetCase) 목차 - OptionalState란? - OptionalState 예제 - IfLetCase 알아보기 - OptionalState란? Reducer의 State 중 optional로 선언된 state를 일컬음. - OptionalState 예제 1. optional값은 IfLetCase를 통해서 분기처리 가능 - 자세한 사항을 코드의 주석 참고 // MARK: - Feature domain struct OptionalBasics: Reducer { struct State: Equatable { var optionalCounter: Counter.State? // 1. ✅ State를 optional 상태로 보유 } enum Action: Equat..

apple/TCA 2023.09.27

[TCA] FocusState

[TCA] FocusState TCA의 FocusState 사용방법 정리 - 목차 - FocusState 사용 예제 - FocusState 사용 예제 SwiftUI의 @FocusState는 TCA 라이브러리의 `bind` view Modifier를 통해 사용 - 자세한 부분은 코드의 주석을 확인 // MARK: - Feature domain struct FocusDemo: Reducer { struct State: Equatable { @BindingState var focusedField: Field? // ✅ 2. 포커스 스테이트로 사용할 bindingState를 선언 @BindingState var password: String = "" @BindingState var username: String..

apple/TCA 2023.09.27

[TCA] Binding

[TCA] Binding TCA의 Binding 방법 정리 목차 - TCA Binding Basic 예제 - TCA BindingState를 사용한 예제 - BidingReducer()를 가장 상단에 작성하는 이유 - TCA Binding Basic 예제 아래 코드는 TCA를 사용할 때 가장 기본적인 방법. // MARK: - Feature domain struct BindingBasics: Reducer { struct State: Equatable { var sliderValue = 5.0 var stepCount = 10 var text = "" var toggleIsOn = false } enum Action { case sliderValueChanged(Double) case stepCountC..

apple/TCA 2023.09.27

[TCA] Tutorial #5 (Multiple presentation destinations)

[TCA] Tutorial #5 (Multiple presentation destinations) // MARK: - Contact import Foundation import ComposableArchitecture struct Contact: Equatable, Identifiable { let id: UUID var name: String } struct ContactsFeature: Reducer { struct State: Equatable { var contacts: IdentifiedArrayOf = [] @PresentationState var destination: Destination.State? // 화면전환을 이렇게 묶어서 분리해서 처리 } enum Action: Equatable ..

apple/TCA 2023.09.24

TCA 공부 생각 기록장

TCA 공부 생각 기록장 TCA도 공부해볼까 하는데, 아키텍처가 가지는 장점도 분명하지만, 개인적으로 현 시점에서는 단점이 치명적이라 도입에는 어려울 것 같다는 생각이 듦. 기존 프로젝트 코드를 대체하는 형태로 가야하는데, TCA 규격을 다 맞춰주는게 비용이 너무 크고, 그에 대비해서 얻는 이점이 생각보다 크지 않다고 느낌.  UIKit이든 SwiftUI든 정말 중요한 건 객체지향에 대한 이해도 같은데, TCA보단 RIBs 쓰는게 더 낫지 않을까란 생각. 히스토리2023.01.16초기 포스팅 TCA 0.40 버전ReactorKit을 주력으로 사용하고 있는데, 요즘 핫하대서 보기로.전반적으로 비슷한 느낌이긴한데, 이제 막 만들어지는 것 같음.2023.10.18TCA 1.0.0 출시로 인해 대격변 크게 의미..

apple/TCA 2023.01.16