
iOS의 상태관리 기반 단방향 아키텍쳐인 TCA(The Composable Architecture)는 View에서 이벤트가 발생할때 ObservableObject 프로토콜을 준수하는 ViewStore에서 특정 이벤트에 대한 Action을 send 하고 이를 Reducer에서 처리하게 됩니다. Reducer에서는 이후 이벤트 처리를 위해 Effect를 반환하는데요. 이 Effect는 Combine framework의 Publisher로 되어있습니다. 다양한 Combine Opeartor를 사용할 수도 있는데요. Publisher를 구독하고 메모리 해제하는 코드는 어디에 있는지, 어떤식으로 돌아가고 있을지 보겠습니다. 먼저, iOS TCA가 이벤트 발생을 할때 어떤식으로 동작하는지 간단하게 알고 싶으싣다면,..

Custom NavigationBar를 만들기에 앞서서.. ViewModifier는 뭐지? ViewModifier의 문서 설명을 보면, 먼저 ViewModifier는 iOS 13.0 이상에서 사용 가능합니다. 또한 protocol로 되어있는데, ViewModifier protocol을 채택하고, body(content:) 메서드를 구현해야하구요. ViewModifier를 사용하면 원본 View에 새로운 속성이나 추가적인 UI 구성을 적용시킬 수 있도록 할 수 있습니다. ViewModifier를 잘 활용하면 중복해서 사용되는 SwiftUI View 속성, 구성 등을 재사용할 수 있는데요. 그럼 바로 ViewModifier를 만들고 나만의 Custom NavigationBar를 만들어 보겠습니다. Custo..

TCA는 Point-free에서 제안한 아키텍쳐로 The Composable Architecture라고 하며, Store의 State 변화에 따라 View를 업데이트해주는 상태 기반의 단방향 아키텍쳐입니다. 저는 개인적으로 개발한 앱에 TCA를 도입하여 사용하고 있습니다. 또한 화면 전환 이벤트를 편리하게 관리하기 위해 TCACoordinator를 함께 사용하여 개발하고 있습니다. 오늘은 제가 개발한 코드 일부를 보면서 TCA의 간략한 동작 방식을 돌아보고자 합니다. 최상위 뷰부터 해서 순차적으로 그림을 그려보는 것보다는 하위 뷰의 단편적인 이벤트 발생을 기점으로 TCA의 동작방식을 돌아보려고 합니다. 언제든 포스팅 내용에 대한 피드백 부탁드립니다. TCA에서 각각의 View는 Store를 갖는다. TC..

UIKit으로 View를 구성할때 뿐만 아니라 SwiftUI를 사용할때도 키보드가 올라오거나 내려가는 등의 이벤트가 발생했을때를 감지해서 뷰의 상태를 변화시키고 싶을때가 있을텐데요. 오늘은 Combine framework에서 제공하는 Combine framework, Publisher를 사용해서 SwiftUI View 에서 공통적으로, 혹은 개별적으로 키보드 이벤트를 처리하는 방법을 알아보겠습니다. SwiftUI View에서 키보드 show, hide 이벤트 처리하는 프로토콜, Publisher 구현하기 KeyboardReadable protocol 구현 먼저 키보드 이벤트를 감지할 View에 채택해서 사용할 프로토콜을 구현하겠습니다. Combine framework에서 사용할 Publisher 뿐만 아..
- Total
- Today
- Yesterday
- swift언어
- publisher
- uikit
- 자연어처리
- swift string
- ios
- Swift 알고리즘
- Protocol
- 부스트코스
- swift
- swift 문자열
- swift 기초
- SwiftUI
- swift reduce
- swift문제
- swift알고리즘
- 백준알고리즘
- createML
- 프로그래머스
- CoreML
- 김프매매
- Collection
- 개발자문서
- 프로토콜
- 컬렉션
- 알고리즘문제
- 백준swift
- 알고리즘
- 프로그래머스swift
- 스위프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |