Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- tableView
- Refactoring
- clean architecture
- Observable
- HIG
- 애니메이션
- Xcode
- 리팩토링
- UICollectionView
- map
- 리펙터링
- ios
- uitableview
- Human interface guide
- SWIFT
- Clean Code
- 클린 코드
- collectionview
- swift documentation
- 스위프트
- RxCocoa
- rxswift
- combine
- uiscrollview
- swiftUI
- 리펙토링
- UITextView
- MVVM
- Protocol
- ribs
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 4-6) RIBs 튜토리얼 (Deeplinking, Workflows, Actionable item) 본문
Architecture (swift)/RIBs
[iOS - swift] 4-6) RIBs 튜토리얼 (Deeplinking, Workflows, Actionable item)
jake-kim 2021. 4. 26. 22:32원리
- LaunchGameWorkflow에서 Rx로 진행 로직 구현
- 각 Interactor는 -ActionableItem 프로토콜을 구현
- RootActionableItem: 로그인을 기다리다가 끝날 경우 로직 수행
- LoggedInActionableItem: 바로 game을 시작하도록 로직 수행
url 스킴 등록
- URL: ribs-training://launchGame?gameId=ticTacToe
- info.plist에 등록
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.uber.TicTacToe</string>
<key>CFBundleURLSchemes</key>
<array>
<string>ribs-training</string>
</array>
</dict>
</array>
UrlHandler
- AppDelegate에 프로토콜 선언 -> RootInteractor에서 프로토콜 구현 -> RootBuilder에서 build()함수의 리턴값에 urlHandler 추가
-> AppDelegate에서 urlHandler객체를 얻어지면 등록 -> AppDelegate에서 url 메시지가 오면 handle(url)호출
Workflows, ActionableItem 개념
- workflows: RIB트리에서 operation progress를 통하여 트리를 up and down 할 수 있는 것
- workflow에서 트리를 up and down: 현재 스텝이 끝나면 .onStep으로 다음 스텝 실행
- ActionableItem의 리턴값: (NextActionableItem, NextValueType)
Workflows, ActionableItem 동작 방식
- 각 Interactor에 ActionableItem 프로토콜을 구현
'Architecture (swift) > RIBs' 카테고리의 다른 글
[iOS - swift] 6-1) RIBs 구조 Todo 앱 만들기 (attach child, Listener Interface) (0) | 2021.04.28 |
---|---|
[iOS - swift] 5. RIBs 프로젝트 초기 세팅 (with cocoapod) (0) | 2021.04.28 |
[iOS - swift] 4-5) RIBs 튜토리얼 (Dependency Injection, Rx Stream) (0) | 2021.04.22 |
[iOS - swift] 4-4) RIBs 튜토리얼 (LoggedIn에 OffGame 붙이기) (0) | 2021.04.21 |
[iOS - swift] 4-3) RIBs 튜토리얼 (viewless RIB) (0) | 2021.04.20 |
Comments