일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Human interface guide
- ios
- tableView
- 리팩토링
- 스위프트
- 클린 코드
- Refactoring
- rxswift
- swift documentation
- swiftUI
- clean architecture
- uiscrollview
- 리펙터링
- Xcode
- SWIFT
- 애니메이션
- UICollectionView
- Observable
- collectionview
- UITextView
- 리펙토링
- MVVM
- ribs
- Protocol
- combine
- uitableview
- map
- RxCocoa
- HIG
- Clean Code
- Today
- Total
목록Architecture (swift)/MVC (with coordinator) (2)
김종권의 iOS 앱 개발 알아가기
MVC with Coordinator 핵심 MVC는 Coordinator의 존재를 모르며, 어느 화면으로 이동하는지 모르는 상태 ViewController에서 routeToLogin과 같이 호출하면 안되도, finishLoad()와 같이 호출 Coordinator를 자유롭게 갈아 끼울수 있는 모듈화 구조 DI는 Coordinator에서 실행 MVC 2개 준비 FirstViewController SecondViewController 코드 Coordinator 적용 Coordinator 추가 import UIKit protocol FirstControllerDelegate: AnyObject { func run() func onAction() } final class Coordinator: FirstCont..
MVC 구성 View는 Controller와 상호작용 하지만, Controller의 인터페이스를 알지 못하며 직접 호출하지 않는 구조 MVC끼리의 통신 MVC 애플의 지향: 최소한의 구성 요소만 포함 old MVC의 한계: Massive ViewController, DI 프로그래밍 x, 프로토콜 지향 프로그래밍 x 한계 극복 Delegate, DataSource를 Model에 두고, ViewController 비즈니스 로직을 간소화 Coordinator가 포함된 MVC패턴 MVC의 원칙 Model: 앱의 데이터 네트워크 코드: 네트워크 통신은 되도록 단일 클래스 사용 지속성 코드: DB, Core Data 코드 파싱: codable Manager 클래스 (=Wrapper class) DataSource,..