일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- 리팩토링
- UITextView
- ribs
- Clean Code
- 리펙토링
- 스위프트
- clean architecture
- Refactoring
- combine
- 클린 코드
- HIG
- SWIFT
- swiftUI
- MVVM
- map
- Xcode
- 리펙터링
- UICollectionView
- swift documentation
- tableView
- collectionview
- Protocol
- Observable
- uitableview
- 애니메이션
- rxswift
- uiscrollview
- Human interface guide
- ios
- Today
- Total
목록rib (3)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/w2v7a/btq27o6pRUG/4ab0TJyLtaxKB2mGlJYJr0/img.png)
LoggedIn에 OffGame 붙이기, 이동 OffGame 생성 OffGame RIB 그룹, 파일 생성 UI: raw.githubusercontent.com/uber/ribs/assets/tutorial_assets/ios/tutorial2-composing-ribs/source/source2.swift 부모인 LoggedIn에 OffGame Builder 프로퍼티 추가 Router에 새로운 Builder 프로퍼티 추가 // LoggedInRouter.swift private let offGameBuilder: OffGameBuildable init(interactor: LoggedInInteractable, viewController: LoggedInViewControllable, offGameBui..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b84N1r/btq2NzseesJ/whE0siP9kqvkhHBSp4ulQK/img.png)
RIB 라우팅 (LoggedOut -> LoggedIn) RootRouting protocol에 LoggedIn RIB으로 화면전환 관련 함수 선언 // RootInteractor.swift protocol RootRouting: ViewableRouting { func routeToLoggedIn(withPlayer1Name player1Name: String, player2Name: String) } LoggedOutListener를 통해서 RootInteractor에 didLogin 이벤트를 받은 경우, 화면전환 // RootInteractor.swift func didLogin(player1Name: String, player2Name: String) { router?.routeToLoggedIn..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VWbHI/btq2JxOtZ1B/w1piXnLmZVyI0PphmvYsOK/img.png)
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에 유리..