일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Firebase Analytics
- swiftdata
- Firebase
- xcode
- swift
- Swift Tuist
- swift 6
- Tuist
- JSON
- swift database
- Tuist Swift
- GCD
- 네트워크 통신
- realm
- KeyPath
- ios swiftdata
- ios
- swift 5.9
- Combine
- Subject
- RxSwift
- ribs
- SwiftUI
- 카카오뱅크 ios
- observable
- SeSAC
- swift db
- Subscribe
- arc
- ios database
- Today
- Total
목록iOS&Swift🍎/RxSwift (4)
천원의 개발
안녕하세요. 천원입니다. RxSwift를 사용하면서 너무 데이터 바인딩의 목적으로만 사용하는 것 같아 반성하고자 다양한 오퍼레이터들을 정리 해보려고 합니다. 자주 사용하는 오퍼레이터들은 별표를 붙여두었습니다. Transforming Observables - map ☆ 옵저버블의 각 항목을 변환하여 새로운 항목을 생성합니다. Observable.of(1, 2, 3) .map { $0 * 2 } .subscribe(onNext: { print($0) }) .disposed(by: disposeBag) // 2, 4, 6 출력 - flatMap 옵저버블의 항목을 다른 옵저버블로 변환하고 병합합니다. Observable.of(1, 2, 3) .flatMap { Observable.of($0 * 2, $0 * 4..

RxSwift를 사용하다 보면 Subscribe, Bind, Drive가 비슷하게 동작을 하는 것 같으니 정리 한번 해보겠습니다. Subscribe 먼저 Subscribe를 확인해 보면 onNext, onError, onCompleted, onDisposed 들을 전부 가지고 있습니다. Bind 다음으로 Bind를 확인해 보면 onNext만 가지고 있습니다. 그렇다면 error가 발생하지 않고 completed가 발생하지 않는 무한히 이벤트를 방출하는 상황에서 사용하게 될겁니다. 또한 Bind의 특징으로 항상 Main Thread에서 동작하기 때문에 바로 UI객체를 사용할 때 주로 사용하는게 Bind입니다. Drive Drive 또한 error가 발생하지 않아야 하고 Main Thread에서 동작하기 때..

Observable vs Subject Observable은 이벤트를 방출 하는 역할을 담당하고 Observable을 구독하는 Observer는 이벤트를 받아서 처리 하는 역할을 담당합니다. 그런데 Observable은 새로운 값을 추가 할 수 없습니다. 그래서 새로운 값을 추가 하고 그것을 방출할 수 있는 객체가 바로 Subject입니다. Subject문서를 확인해 보면 Observable을 상속받고 있으며 ObserverType Protocol을 채택 하는 모습을 확인할 수 있습니다. 그래서 Subject는 Observable의 역할과 Observer 역할을 둘 다 수행할 수 있는 겁니다. 이번에는 ObserverType을 확인해 보면 on 함수가 있는데 이 on함수를 통해서 Observer로 이벤트..

RxSwift? ReactiveX에서 만든 라이브러리입니다. (Reactive eXtension + Swift = RxSwift) " RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized execution via schedulers. " By Marin Todorov. ‘RxSwift - Reactive Programming with Swift.’ 해석 해보면 RxSwift는 관찰 가능한 시퀀스와 함수 형태의 연산자를 사용하여 비동기 및 이벤트 기반 코드를 구성하기 위한 라이브러..