λ΄μ© Moya λ‘ κ΅¬μΆν μλ²ν΅μ νκ²½μμ μλ²ν΅μ μ μ§ννκ³ RxSwift λ₯Ό μ¬μ©ν΄λ³΄μ π λ€μ΄κ°κΈ° μ μ°μ , Moya κΉνλΈμμ μ 곡νλ RxSwift λ¬Έμλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. Moya μ MoyaProvider λ λͺ κ°μ§ μ νμ μΈ RxSwift ꡬνμ μ 곡ν©λλ€. request() λ©μλλ₯Ό νΈμΆνκ³ μμ²μ΄ μλ£λ λ μ½λ°± ν΄λ‘μ λ₯Ό μ 곡νλ λμ Observable μ μ¬μ©ν©λλ€. μ΄λ success μ error λ₯Ό λ°©μΆνλ trait μ ν μ’ λ₯μΈ Single μ ν΄λΉν©λλ€. provider.rx.request(.zen).subscribe { event in switch event { case .success(let response): // do something with the data cas..
β RxSwift λ mvvm κ³Ό ν¨κ» μ°κΈ°λ‘ μ λͺ νλ° κ·Έ μ΄μ λ₯Ό μμ보μ 리μ‘ν°λΈ νλ‘κ·Έλλ°μ μ½λ μ λ°μ΄νΈκ° λ³κ²½μ¬νμ μλμΌλ‘ λ°μνλλ‘ μ€μ ν μ μλ€λ©΄ μ’κ² λ€λ μκ°μμ μΆλ°ν κ²μ λλ€. κ·Έλμ λ°μ΄ν° μ€νΈλ¦Όκ³Ό λ³κ²½ μ¬νμ μ νλ₯Ό μ€μ¬μΌλ‘ νλ λΉλκΈ° νλ‘κ·Έλλ°μ΄λΌκ³ μ 리ν μ μμ΅λλ€. μ΄μ²λΌ 리μ‘ν°λΈ νλ‘κ·Έλλ°μ μ¬μ©νλ μ΄μ λ νΉμ μνλ₯Ό μ μ§νλ κ²λ³΄λ€ λ‘μ§μ μ‘°κΈ λ μ§μ€ν μ μκΈ° λλ¬Έμ λλ€. μ΄λ° 리μ‘ν°λΈ νλ‘κ·Έλλ°μ μ¬μ©μ ν μ μλ μ€ν μμ€ λΌμ΄λΈλ¬λ¦¬κ° ReactiveX μ΄κ³ , Swift μ ν¨κ» μ¬μ©ν μ μλ κ²μ΄ λ°λ‘ RxSwift μ λλ€. κ·Έλ¦¬κ³ RxSwift λ mvvm ν¨ν΄μμ λ°μ΄ν° λ°μΈλ©μ λνμ μΈ λ°©λ²μΌλ‘ μκ°λ©λλ€. mvvm ν¨ν΄μμλ view model μ..
λ΄μ© RxSwift 6(2021.01.01) μμ μΆκ°λ withUnretained μ μ΄λ₯Ό λ체νκΈ° μν΄ RxSwift 6.1(2021.02.11) μμ μΆκ°λ subscribe(with:onNext:onError:onCompleted:onDisposed:) μ λν΄μ μμ보μ. π λ€μ΄κ°κΈ° μ withUnretained λ RxSwiftExt μμ λ§λ operator μ΄μ§λ§ RxSwift 6 λΆν° μΆκ°λμμ΅λλ€. κ°λ¨νκ² λ¨Όμ μΈκΈνμλ©΄ ν΄λ‘μ μμ retain cycle μ νΌνκ³ μ [weak self] λ₯Ό μ¬μ©νλ κ² λμ withUnretained operator λ₯Ό μ¬μ©ν μ μμ΅λλ€. κ·Έλ°λ° RxSwift 6.1 μμ λ€μκ³Ό κ°μ api λ₯Ό μΆκ°λμμ΅λλ€.(μΆμ²: https://github...
RxCocoa traits RxSwift λ¬Έμλ₯Ό μ 리 λ° μμ½ν΄λ³΄κ² μ΅λλ€. (μΆμ² - RxCocoa Traits) ControlProperty μ ControlEvent λ UI μμμ μμ±μ λνλ΄λ Observable/ObservableType μ trait μ λλ€. π ControlProperty ControlProperty λ ObservableType κ³Ό ObserverType μ λμμ μ±ννλ ControlPropetyType μ μ±νν©λλ€. Subject μ κ°μ΄ νλ‘νΌν°μ μλ‘μ΄ κ°μ κ΄μ°°ν μλ λ°©μΆν μλ μμ΅λλ€. public struct ControlProperty : ControlPropertyType { ... } /// Protocol that enables extension..
RxCocoa μ μλ Traits μ λν΄μ μμ보μ κ·Έ μ€μμ Driver, Signal μ λν΄μ μμ보μ Traits? Rx λ₯Ό λ³΄λ€ μ§κ΄μ μ΄κ² μ¬μ©ν μ μλ κ°λ ₯ν λ°©λ²μ΄ μμ΅λλ€. Traits λ μ νμ μΈ λ°©λ²μΌλΏμ λλ€. ν΅μ¬μ RxSwift μ RxCocoa μμ νλ³νλμ§ μμ Observable μνμ€λ₯Ό μμ λ‘κ² μ¬μ©ν μ μμ΅λλ€. λ€μκ³Ό κ°μ΄ Traits μ μ½λλ₯Ό μ΄ν΄λ³΄λ©΄ λ¨μΌ μ½κΈ° μ μ© Observable μνμ€ νλ‘νΌν°λ₯Ό κ°μ§ wrapper struct λΌλ κ²μ μ μ μμ΅λλ€. struct Single { let source: Observable } struct Driver { let source: Observable } ... RxCocoa traits RxSwift λ¬Έμ..
λ΄μ© λ€μν νμ μ subjects μ μ¬μ©νλ λ°©λ²μ λν΄μ μμλ΄ μλ€. subjects λ₯Ό κ°μΈλ wrappers μΈ relays μ λν΄μλ μμλ³΄κ² μ΅λλ€. RxSwift: Reactive Programming with Swift, Chapter 3: Subjects [RxSwift] 3. Subjects RxSwift/GettingStarted.md at main · ReactiveX/RxSwift import RxSwfitλ₯Ό λ³΄κ³ λλ§μΉμ§ μλ λ°©λ² 101κ°μ§ μμ κΈμ λ²μ λ° μμ½ν κΈμ λλ€. Berfore entering observalbes λ RxSwift μ κΈ°λ³Έμ μ΄μ§λ§ λ³Έμ§μ μΌλ‘ read-only μ λλ€. observables κ° μμ±νλ μλ‘μ΄ μ΄λ²€μ λν μλ¦Όμ λ°κΈ° μν΄μλ§ κ΅¬..
λ΄μ© Observable μ μμ±νκ³ κ΅¬λ νλ λͺκ°μ§ μλ₯Ό μ΄ν΄λ΄ μλ€. RxSwift: Reactive Programming with Swift, Chapter 1: Hello, RxSwift! RxSwift/GettingStarted.md at main · ReactiveX/RxSwift [RxSwift] 2. Observables μμ κΈμ λ²μ λ° μμ½ν κΈμ λλ€. What is an observable? Observable μ Rx μ ν΅μ¬μ λλ€. observable μ΄ λ¬΄μμΈμ§ μ΄λ―κ² μμ±νκ³ , μ΄λ»κ² μ¬μ©νλμ§ μμλ³΄κ² μ΅λλ€. Rx μμ μΈκΈλλ “observable”, “observable sequence”, “sequence”, “stream” λ μλ‘ κ°μ μλ―Έμ λλ€. Observable..
λ΄μ© RxSwift λ₯Ό μ μ©νλ App architechure μ λν΄μ κ°λ¨νκ² μμλ΄ μλ€. RxCocoa μ λν΄μ κ°λ¨νκ² μμλ΄ μλ€. RxSwift: Reactive Programming with Swift, Chapter 1: Hello, RxSwift! μμ κΈμ λ²μ λ° μμ½ν κΈμ λλ€. App architecture RxSwift λ μ΄λ€ μμΌλ‘λ μ±μ μν€ν μ²λ₯Ό λ°κΎΈμ§ μλλ€λ κ²μ μΈκΈν κ°μΉκ° μμ΅λλ€. λλΆλΆ μ΄λ²€νΈ, λΉλκΈ° λ°μ΄ν° μνμ€, κ·Έλ¦¬κ³ λ³΄νΈμ μΈ ν΅μ κ³μ½μ λ€λ£Ήλλ€. reactive app μΌλ‘ λ§λ€κΈ° μν΄ νλ‘μ νΈλ₯Ό μ²μλΆν° μμν νμκ° μλ€λ μ λ μ€μν©λλ€. κΈ°μ‘΄ νλ‘μ νΈμ μΌλΆλ₯Ό λ°λ³΅μ μΌλ‘ 리ν©ν λ§νκ±°λ μ±μ μλ‘μ΄ κΈ°λ₯μ λΉλν λ RxSwift λ₯Ό μ¬μ©νλ©΄ ..
- IOS
- UserDefaults
- configurable widget
- SwiftUI
- watchOS
- urlsession
- containerBackground
- WWDC22
- MOYA
- github
- OpenSourceLibrary
- Notification
- Algorithm
- Firebase
- projectsetting
- async/await
- Swift
- Objective-C
- Protocol
- RxCocoa
- YPImagePicker
- rxswift
- APNS
- WWDC
- CloneCoding
- Widget
- 2022 KAKAO TECH INTERNSHIP
- μλ²ν΅μ
- MVVM
- WidgetKit
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday