일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVVM
- 애니메이션
- Xcode
- SWIFT
- swift documentation
- collectionview
- swiftUI
- 리펙터링
- Refactoring
- clean architecture
- Human interface guide
- tableView
- rxswift
- UICollectionView
- 리펙토링
- Clean Code
- uiscrollview
- 리팩토링
- Observable
- 스위프트
- ios
- UITextView
- ribs
- HIG
- uitableview
- Protocol
- 클린 코드
- map
- RxCocoa
- combine
- Today
- Total
목록observable stream (3)
김종권의 iOS 앱 개발 알아가기
0) 프로젝트 초기 세팅 1) Todo 앱 구조, LoggedOut RIB 2) Todo 앱 구조 LoggedIn RIB 3) Todo 앱 구조 Rx stream 이전까지 구현된 점 * 정리 - child RIB 생성, DI, attach/detach Child RIB 생성 Parent Router에 Builder 프로퍼티 추가 viewless인 경우: (p)ChildDependency에 ChildViewController가 지정되어 있고, ParentComponent에 VC객체 선언과 init생성자 적용하여 이 값을 주입 (viewless하위에 viewful Child들이 생기는 것을 고려하기위함) Child 의존성 정의 ChildDependency, ChildComponent, parentCompon..
Root -> LoggedIn 플레이어 이름 DI LoggedInBuildable에 받을 데이터 기입 (이름정보) // LoggedInBuilder.swift protocol LoggedInBuildable: Buildable { func build(withListener listener: LoggedInListener, player1Name: String, player2Name: String) -> LoggedInRouting } 변경내용 반영 // LoggedInBuilder.swift func build(withListener listener: LoggedInListener, player1Name: String, player2Name: String) -> LoggedInRouting { let co..
RIBs 아이디어 view가 아닌 business logic 중심 구조 state변화는 view가 아닌 business logic에서 관리 하나의 화면이 여러 ViewController로 이루어질 수 있다는 점이 존재 State관리는 scope를 이용하여 관리 (isolation) 모듈화에 의해 co-working에 유리: dependency가 제대로 inject되어 있다면 각 RIB을 합치기 쉬운 장점 RIB - 6개의 컴포넌트로 이루어진 하나의 기능 단위 (Required) Router: RIB이 어떻게 attach, detach될 것인지 (animation) Interactor: 비즈니스 로직 관리, 어떤 RIB들을 attach, detach 할지 명령 Builder: RIB 생성 (Mock에 유리..