RxSwift 3

[RxSwift] 메모리 누수 일어나기 딱 좋은(?) .bind(with:onNext:) & 중첩 클로저의 객체 참조

📍.bind(with:onNext:)의 메모리 누수? 메모리 누수 방지하려고 쓰는 RxSwift의 .bind(with:onNext:) 모두 알고 계신가요?객체에 대한 retain 없이 참조하기 위해 .bind(with:onNext:) 쓰는데 제목에 뭔 메모리 누수 일어나기 딱 좋다고 하는거냐!! 라고 할 수 있는데요.     프로젝트를 하다가 어느 날보니 뷰컨트롤러에 deinit이 찍히지 않는 이슈가 있었습니다.혹시 이 코드에서 이상한점이 보이시나요???   onNext 클로저의 파라미터 이름으로 owner 가 있는데 클로저 내부에 self…도 사용되고 있네요?뭔가 어색하지 않나요??        우선 .bind(with:onNext:)가 뭔지 정확히 알아보기 위해 RxSwift의 .bind(with:..

RxSwift 2024.09.09

[RxSwift] Hot&Cold Observable

ReactiveX를 공부하다 보면 한 번쯤은 만나게 되는 개념 Hot&Cold Observable, 문서에서도 Observable설명하는 부분에서 대문짝만하게 적어놓은 걸 보니 중요한 개념인 듯싶어서 공부해 보았다!  단순하다면 단순한 개념이지만, ReactiveX에서 등장하는 다른 개념들과 복합적으로 생각하다 보면 이게 이해가 잘 된 건가.. 싶어서 보고 또 보고 해서 이해하는데 며칠이 걸렸다면 믿으시겠습니까.. https://reactivex.io/documentation/observable.html ReactiveX - ObservableObservable In ReactiveX an observer subscribes to an Observable. Then that observer reacts ..

RxSwift 2024.08.29

[RxSwift] Observable stream 에서 share가 필요한 이유 | multiCast, uniCast

RxSwift는 사용하다 보면 참 편리한 아이인 것 같다. 반응형으로 사용자의 이벤트를 구독하고 방출된 이벤트를 관찰하고 있다가 처리해주다 보니 MVVM 패턴과도 찰떡인 게 사용하면서 체감된다. 하지만 우리가 이벤트를 방출할 때 사용해주는 Observable이 편리하긴 하지만 여러 곳에서 구독을 할 경우 유의해주어야 할 점이 있는데 이것에 대해 알아보자! ReactiveX를 공부할 때 반드시 알아야할 multicast, unicast 개념과도 연결되니 꼭 알고 넘어가기로!       📍 Observable Stream 우리는 이미 Observable를 여러번 구독할 수 있다는 것을 알고 있는데... 근데 이렇게 여러번 구독하게 되면 각각 구독하는 시점에 Observable stream이 새롭게 생긴다...

RxSwift 2024.08.23