내용 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 문서..
catch : error 를 새로운 Observable 또는 값으로 처리 retry : 재시도 materialize / dematerialize : sequence 를 제어해서 처리 onError 에서 처리하면 되지 않나요? Error 이벤트는 Observable 을 종료시키게 됩니다. 그래서 종료시키지 않고 다음과 같이 이벤트를 발생키시고 completed 가 발생되도록 error handling 을 하고자 합니다. catch catch RxSwift 6.0 에서 catchError(_:) 이 catch(_:) 로 이름이 바뀌었습니다. 출처 - RxSwift release extension ObservableType { /** Continues an observable sequence that is t..
내용 다양한 타입의 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..
- configurable widget
- projectsetting
- UserDefaults
- urlsession
- MOYA
- Firebase
- APNS
- Widget
- WWDC
- WWDC22
- Algorithm
- OpenSourceLibrary
- YPImagePicker
- Swift
- async/await
- Notification
- 서버통신
- containerBackground
- rxswift
- Objective-C
- MVVM
- 2022 KAKAO TECH INTERNSHIP
- RxCocoa
- WidgetKit
- IOS
- github
- Protocol
- CloneCoding
- watchOS
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday