RxSwift
-
RxSwift - subscribe vs bind vs driveRxSwift 2025. 2. 14. 11:19
안녕하세요. 그린입니다 🍏이번 포스팅에서는 RxSwift에서의 bind, subscribe, drive의 역할과 어떤 차이가 있는지에 대해 알아보겠습니다 🙋🏻오늘 정리해볼 이 subscribe, bind, drive는 각각 목적과 특징이 다르기에 적절히 사용하는것이 좋습니다. 그렇기에 이 세가지에 대해 차이점을 확실히 알고 어떤 상황에서 어떤걸 사용할지 체크해보죠! 👯♂️ 그전에 하나 짚고 가볼께요. RxSwift에서의 핵심 개념은 Observable과 Observer죠.여기서 Observable은 데이터를 방출하는 스트림이고, Observer는 방출된 데이터를 수신하고 처리하는 객체 역할을 합니다.이 두 개념을 통해서 우리는 반응형 프로그래밍을 구현하는것이죠.여기서 subscribe, bind..
-
Hot Observable vs Cold ObservableRxSwift 2025. 2. 11. 10:24
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Rx에서의 Hot/Cold Observable에 대해 정리해보겠습니다 🙋🏻 먼저, RxSwift에서 Observabled은 데이터 스트림을 다루는 핵심적인 요소이며, Observable의 성격에 따라서 Hot / Cold 종류로 나눠지게 됩니다.이 두가지는 구독 시점과 데이터 생성 방식에 따라 차이를 가지고 있어요 🤔 그래서, 이번 포스팅에서는 Hot / Cold Observable의 개념부터 내부 동작 방식과 성능적인 부분 그리고 예시까지 한번 담아보겠습니다! Hot ObservableHot Observable은 구독자가 추가되더라도 기존 스트림을 공유하는 Observable입니다.즉, 데이터 생성이 특정 이벤트나 외부 트리거에 의해 시작되며, 구독자가..
-
RxSwift - Driver & BehaviorRelayRxSwift 2025. 2. 6. 09:44
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Driver와 BehaviorRelay에 대해 알아보며 연관 관계에 대해 정리해보겠습니다 🙋🏻 그전에, BehaviorRelay에 대해 알고 있는것이 더 편리해요. RxSwift - BehaviorSubject vs BehaviorRelay안녕하세요. 그린입니다 🍏이번 포스팅은 RxSwift에서 BehaviorSubject와 BehaviorRelay의 차이에 대해 학습해보겠습니다 🙋🏻 RxSwift를 사용하여 상태를 관리할 때 두 개념 모두 자주 사용되는데요.두green1229.tistory.com 해당 포스팅을 사전에 먼저 보시는게 좋습니다 😃DriverDriver는 RxCocoa에서 제공하는 특수한 Observable 타입으로, 주로 UI 바..
-
RxSwift - BehaviorSubject vs BehaviorRelayRxSwift 2025. 2. 3. 14:25
안녕하세요. 그린입니다 🍏이번 포스팅은 RxSwift에서 BehaviorSubject와 BehaviorRelay의 차이에 대해 학습해보겠습니다 🙋🏻 RxSwift를 사용하여 상태를 관리할 때 두 개념 모두 자주 사용되는데요.두가지 모두 Subject입니다. 어떤 차이를 가지고 있고, 어떤 상황에서 어떤것을 쓰는게 좋을지에 대해 알아볼께요.BehaviorSubjectBehaviorSubject는 현재 값을 유지하며, 새롭게 구독하는 Subscriber에게 항상 최신 값을 방출하는 Subject입니다.또한 초기 및 기존 값이 존재하기 때문에 UI 상태 관리 시 유용하게 사용될 수 있죠. 특징으로는 다음과 같습니다. 1️⃣ 초기값 지정2️⃣ 구독 시 최신 값을 즉시 수신3️⃣ .onNext(value),..
-
RxSwift로 서버 통신하기RxSwift 2022. 12. 19. 10:51
안녕하세요. 그린입니다🍏 이번 포스팅에서는 RxSwift를 쓰는 환경에서 서버 통신을 하는 틀을 만들어보겠습니다🙋🏻 우선 서버 통신이 필요한 환경이 정말 필수적이고 많은분들이 RxSwift를 사용하고 있을거에요. 그렇기에 저도 나름의 방식으로 RxSwift를 사용하면서 잘짜여진 서버 통신 템플릿을 만들고 쉽게 사용해보려합니다! 먼저 들어가기전 사용된 라이브러리는 두가지입니다. Alamofire와 RxSwift Alamofire를 통해 조금 더 간편하게 서버 통신을 시킵니다. Moya를 활용하지 않은 이유는 네트워크 레이어를 추상화한것뿐이라 이 부분은 직접 구현하면서 조금 더 장점을 가져갔습니다. 그럼 한번 보시죠🥸 우선 가장 먼저 만들어볼것인 서버 통신 규약을 정해보는 Router 프로토콜과 해당 프로토..
-
RxSwift - Time Based OperatorRxSwift 2021. 11. 17. 20:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Time Based Operator에 대해 학습해보겠습니다💁🏻 여태까지 그랬지만 RxSwift의 순차적인 학습은 아래 링크를 따라 진행하고 있습니다. 아마도 큰 단락에서 오퍼레이터에 대한 학습은 이번 포스팅까지일것 같습니다! GitHub - fimuxd/RxSwift: RxSwift를 스터디하는 공간 RxSwift를 스터디하는 공간. Contribute to fimuxd/RxSwift development by creating an account on GitHub. github.com Time Based Operator? 직역하여 생각하면 시간에 기반한 오퍼레이터 입니다. 시간에 기반한다.. Rx에서 시간 흐름에 따라 데이터가 들어오게 됩니다. 그렇다면 이 관련..
-
RxSwift - Combining OperatorRxSwift 2021. 11. 12. 22:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combining Operator에 대해 학습해보겠습니다💁🏻 Combining Operator? 컴바인 즉 구성하고 조직한다는 의미로 이번에 알아볼 오퍼레이터는 옵저버블의 데이터를 병합해줍니다. 이전 제 블로그에서 중구난방하게 concat, merge 등 옵저버블 시퀀스를 병합해주는 학습을 해본적 있습니다. 이번에는 아래 링크를 통해 조금 더 체계적으로 구분하고 알아보려합니다🙌 GitHub - fimuxd/RxSwift: RxSwift를 스터디하는 공간 RxSwift를 스터디하는 공간. Contribute to fimuxd/RxSwift development by creating an account on GitHub. github.com startWith(_:)..
-
RxSwift - Transforming OperatorRxSwift 2021. 11. 10. 20:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 이전 Filtering Operator에 이어 Transforming Operator에 대해 학습해보겠습니다💁🏻 Transforming Operator? 변환해주는 오퍼레이터! 어떤것을 변환해줄까요? 옵저버블로 부터 방출된 값들을 다른 형태나 변형된 값으로 변화를 주고 방출하는 오퍼레이터입니다🤙🏻 그럼 바로 아래에서 여러가지 Transforming Operator들에 대해 살펴보겠습니다🙋🏻 toArray 요런 형태를 띕니다. 요소들을 하나의 어레이로 묶어주는 오퍼레이터인게 딱 보이죠? 그럼 코드로 어떻게 사용되는지 보겠습니다. let disposeBag = DisposeBag() Observable.of(1, 2, 3, 4, 5, 6) .toArray() .su..