일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Tuist
- 버튼 피드백
- BFS
- paragraph style
- domain data
- swift 백준
- RxSwift
- task cancel
- uikit toast
- SWIFT
- custom ui
- swift navigationcontroller
- swift custom ui
- task cancellation
- reactorkit
- coordinator
- swift concurrency
- swift 점선
- custombottomsheet
- custom navigation bar
- UIKit
- 타임라인 포맷팅
- swift bottomsheet
- swift dashed line
- identifiable
- DP
- claen architecture
- button configuration
- traits
- rxdatasources
- Today
- Total
목록reactorkit (4)
김경록의 앱 개발 여정

📘 개요MVVM 패턴에서 ViewModel(이하 VM)은 UI 요소와 독립적이어야 한다고들 합니다.그런데 그 '독립성'의 기준은 어디일까요?예를 들어, UIKit을 import 하지 않으면 독립적인 걸까요?UILabel의 텍스트처럼 화면에 표현될 값을 포장하여 다루는 건 괜찮을까요? (ex: n 개, n원)혹은 View가 isHidden일지 말지를 판단하는 Bool값을 ViewModel에서 들고 있는 건 괜찮을까요?이 글은 제가 실제로 진행한 프로젝트에서 MVVM을 따르고 있다고 생각했지만, 결과적으로는 안티 패턴에 가까운 코드를 작성했던 경험을 되돌아보며,ReactorKit을 기준으로 어떤 식으로 View와 ViewModel의 책임을 분리했는지 정리한 글입니다🎭 “State는 화면의 상태”라는 말의..
개요이번 포스팅에서는 테이블 뷰의 아이템을 선택했을 때, 코디네이터(Coordinator) 패턴을 사용하여 화면을 전환하고, 필요한 데이터를 전달하는 방법을 다룹니다.이 글에서는 ReactorKit, RxSwift, 그리고 Coordinator 패턴을 사용하여 AView에서 BView로 데이터(User)를 전달하는 예시를 설명합니다.각 디자인패턴이나 라이브러리의 상세한 설명은 생략됩니다. 액션 정의하기먼저, A뷰와 B뷰가 있고, A뷰에서 B뷰로 이동한다고 가정합니다. 전달할 데이터는 User 형식으로 정의데이터 모델 정의struct User: Decodable { let name: String? let age: Int?}AView의 Reactor 정의AView의 Reactor는 비동기 처리를 ..

Counter 앱의 Reacotr 분석Reactorfinal class CounterViewReactor: Reactor {CounterView라는 뷰의 Reactor기본적으로 하나의 뷰의 하나의 리액터, 이렇게 함으로 개별 관리가 용이Actionenum Action { case increase case decrease }Action의 경우 사용자의 인터렉션에 기반한 행위를 정의실제 프로젝트에 적용함에 있어서 어느범위까지가 Action인가에 대한 고민이 있었는데,테이블 뷰 셀렉티드, 필요시 스크롤링하는 동작까지도 Action의 범주로 들어가서 정의해주면 된다.해당 예제에선 숫자의 증가와 감소 두개의 액션을 정의했다.State struct State { var value: I..
기본 개념Flux와 Reactive Progamming의 조합Observable 스트림을 통해 사용자의 작업(User Action)과 뷰 상태(View State)가 각 레이어로 전달 됨스트림은 기본적으로 단방향뷰는 Action을 방출(emit)하고 리액터는 States만 방출 할 수 있음디자인 목표테스터블리액터는 뷰와 의존성이 없다뷰와 로직을 분리함으로 테스트에 용이해지는 장점작은 시작전체 프로젝트에 적용되는것이 아닌 작은 부분(특정 하나의 뷰)에서 부분적으로 ReactorKit을 채택할 수 있음기존 프로젝트에 ReacotrKit을 적용시키고 싶어서 모든걸 갈아엎지 않아도 됨적은 타이핑물리적인 코드가 적게 필요하다고 한다.높은 추상화 수준을 가졌을듯ViewReactorKit에선 ViewControlle..