| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- scene delegate
- swift 점선
- swift custom ui
- 드롭다운 버튼
- custom navigation bar
- RxSwift
- UIKit
- swift 백준
- reactorkit
- swift existential type
- SWIFT
- swift bottomsheet
- identifiable
- button configuration
- 버튼 피드백
- coordinator
- swift dashed line
- task cancel
- custombottomsheet
- swift associated type
- Tuist
- BFS
- OAtuh 2.0
- custom ui
- DP
- swift concurrency
- swift opaque type
- swift navigationcontroller
- task cancellation
- uikit toast
- Today
- Total
목록coordinator (3)
김경록의 앱 개발 여정
개요이번 포스팅에서는 테이블 뷰의 아이템을 선택했을 때, 코디네이터(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는 비동기 처리를 ..
STEP 1토큰 관리 객체에 대한 아이디어키체인을 따로 별도 관리해주는 객체를 정의해당 객체는 CRUD를 포함하고 싱글톤 객체로서 외부에서 편하게 접근 가능하도록 설정isLoggedIn:Bool 을 계산속성으로 정의, 해당 속성은 getToken을 통해 값을 업데이트public var isLoggedIn: Bool { get { // 실질적 통신에 사용되는 엑세스 토큰만을 확인 return getToken(type: .access) != nil } }오토로그인에 대한 아이디어키체인 혹은 유저 디폴트에 JWT 토큰을 받아 저장로그인이 필요한 작업의 경우 해당 토큰을 꺼내서 헤더에 포함(Alamofire RequestInterceptor 사용)서버로부터 토큰이 만료되었다는 안내를 받으면 기존 저장중이던 토큰..
코디네이터 패턴을 학습하고 구현하는 과정에서 여러 시행착오를 겪었다.그 중에서도 특히 present와 dismiss의 주체가 누구인지에 대해 고민했다.내가 구현한 코디네이터 프로토콜은 아래와 같이 navigationController를 가지고 있었는데,import UIKit public protocol Coordinator: AnyObject { var parentCoordinator: Coordinator? { get set } var childCoordinators: \[Coordinator\] { get set } //이거 var navigationController: UINavigationController { get set } func start()..