RxSwift
-
RxSwift - withUnretainedRxSwift 2025. 2. 21. 07:54
안녕하세요. 그린입니다 🍏이번 포스팅에서는 RxSwift의 withUnretained에 대해 정리해보겠습니다 🙋🏻RxSwift를 사용하면서 메모리 누수 혹은 강한 순환 참조 문제를 만날 수 있는 상황이 많습니다.물론 이를 위해 weak self를 사용하여 해결할 수 있지만, 귀찮잖아요..?그래서 보다 가독성이 좋고 편리하게 withUnretained를 사용할 수 있습니다. 그럼 한번 withUnretained가 무엇이고 어떻게 사용하는지 알아볼까요? withUnretained?withUnretained는 RxSwift에서 weak self 패턴을 보다 명확하고 안전하게 사용할 수 있도록 도와주는 연산자입니다.즉, 기존 weak self 사용 시 발생시키는 옵셔널을 처리하는것에 대해 동일하게 처리를 ..
-
RxSwift/RxCocoa - TraitsRxSwift 2025. 2. 17. 08:49
안녕하세요. 그린입니다 🍏이번 포스팅에서는 RxSwift의 Traits에 대해 정리해 보겠습니다 🙋🏻Traits?우선 RxSwift에서 Observable은 매우 유용한 스트림이지만, 때로는 특정한 액션을 강제하고 싶을때가 있을 수 있습니다.Traits이 이런 특정한 패턴을 따르는 Observable의 변형으로 그 역할을 해줍니다.즉, Observable로는 원래 onNext, onError, onCompleted 등을 다 처리했다면 Traits은 필요한것만 처리할 수 있죠. RxSwift와 RxCocoa에서는 다음과 같은 Traits들을 제공합니다 😃 1️⃣ Single2️⃣ Completable3️⃣ Maybe4️⃣ Driver5️⃣ Signal6️⃣ ControlProperty7️⃣ Cont..
-
RxSwift/RxCocoa - 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/RxCocoa - 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에서 시간 흐름에 따라 데이터가 들어오게 됩니다. 그렇다면 이 관련..