분류 전체보기(12)
-
[RxSwift #6] Traits(1) - RxSwift Traits
Traits는 RxSwift의 traits와 RxCocoa에 포함되어 있는 traits로 나뉜다. 이번 글에서는 먼저 RxSwift의 traits에 관해 공부한 내용을 작성할 예정이다:) 먼저 Traits가 무슨 뜻인지, 처음에 전혀 유추할 수 없었다. 한글 그대로의 뜻을 찾아봐도 '특성'이라는 해석인데... 전혀 감이 잡히지 않는다. 그래서 RxSwift에서의 traits는 대체 무슨 뜻일까? ReactiveX에 설명된 내용을 해석해보자면, 인터페이스의 경계를 넘어 옵저버블 시퀀스의 속성을 전달하고 보장할 뿐만 아니라 컨텍스트 의미를 제공하고, 원시 옵저버블과 비교할 때보다 구체적인 사용 사례를 대상으로 할 때 유용한 것이라고 한다. 너무 복잡하니깐 한 줄로 정리하면 원시 Observable보다 rx를..
2022.01.07 -
[RxSwift #5] Driver란 무엇일까?
일단 정말정말 오랜만에 글을 쓴다. 작년 추석 때가 마지막이었던 것 같은데.... 중간고사 기간부터 종강할 때까지 너무너무 바빴다..! 그래서 사실 Driver에 관한 글을 써야한다는 사실도 잊고있었다. 일단 마지막으로 글을 쓴게 작년이라니!! 오늘은 벌써 새해가 되었다. 신년이다. 어떻게 이럴수가!!! 간단하게 복습 일단 지난 글에서 다뤘던 것을 간단하게 복습하자면, Relay에 관한 내용을 공부했었다. Relay는 Subject를 Wrapper class로 감싼 형태로, error나 complete를 발생하지 못하게 하는 것이 목적이었다. 그렇다면 이제 이 Relay의 사용법을 알아야 한다. 왜 Wrapper 클래스로 감쌌으며, 어떤 목적을 위해, 어떻게 사용해야 할까? Driver란? 먼저 Driv..
2022.01.01 -
[RxSwift #4] Subject 와 Relay
Rx를 이용해서 코딩을 하다보면 Subject와 Relay를 사용해야 할 때가 생긴다. 예를 들면 내가 다른 데이터를 관찰해서 내 정보를 업데이트해야 하고, 또 누군가가 나를 관찰해야 하는 입장이 될 때가 있다. 이럴 때 어떻게 해결을 해야 할지 고민하다가 찾은 것이 Subject와 Relay였다. Rx 관련 개념들에 대해 대충 찾아봤을 때 지나가다가 본 것들이었는데, 이것을 써야만 하는 상황이 생기다니...! 물론 아주 흔한 상황인 것 같다(ㅋㅋㅋㅋㅋ) 하지만 PublishSubject, PublishRelay, BehaviorSubject, BehaviorRelay..... 등등등 정말 많은 것들이 있었다. 어떤 것은 초깃값을 주지 않아도 객체를 생성할 수 있었고, 어떤 것은 아니었다. 이것 뿐만 아..
2021.09.22 -
[RxSwift #3] Scheduler
스케쥴러는 작업을 어디서 수행할지에 관한 작업을 추상화한다. Main thread 에서 수행할지, background 에서 수행할지 등을 정할 수 있게 해준다. Rx를 사용하지 않아도 iOS 앱을 만들 때 작업을 어디에서 수행할지 정할 수 있었다. DispatchQueue의 main은 작업을 main thread에서 수행하는 것을 의미했고, global은 백그라운드에서 수행하는 것을 의미했다. Dispatch queue뿐만 아니라 작업들을 수행하는 데에는 current thread, operation queues, new threads, thread pools, run loops 등이 사용된다. 이에 관한 글도 조만간 작성해야겠다^ㅛ^ RxSwift에서는 스케줄러를 통해 Observable을 생성하는 작..
2021.09.20 -
[RxSwift #2] Observable에 대해
Observable이 무엇인지에 대해 이전의 글들에서 정리해보았다. Observable은 관찰 가능한 시퀀스이긴 한데, Rx에서 이 Observable을 어떻게 활용하고 다뤄야하는걸까? Observable의 생명주기, 연산자, 스케쥴러를 알아야 이것을 이해하고 사용할 수 있다. 이들에 대해 하나하나 알아보자. 생명주기 1. create Observable을 사용하기 위해서는 가장 먼저 이를 생성하는 단계가 필요하다. create, just, of, from, empty 등의 함수를 통해 옵저버블을 생성할 수 있다. 2. next Observable이 생성되면 이벤트가 발생할 때마다 이를 방출하여 구독자인 observer에게 알려줘야 한다. 이 때 Ovservable은 onNext를 호출해 이벤트를 방출한..
2021.09.19 -
[RxSwift #1] 자주 쓰이는 용어와 개념
RxSwift를 공부하면서 헷갈리는 개념이 너무 많아서 용어부터 정리해야겠다고 생각했다. Observable, Observer, Subject, Relay, Disposable 등등..... 이 용어들에 대해 정리하고 넘어가자. Observable과 Observer Observable은 영어 그대로 해석하면 관찰 가능한 것이라고 해석할 수 있다. Observer는 관찰을 하는 주체이다. 즉 Observer가 Observable을 관찰하고 있다. 공식 문서를 읽어보면 observer는 observable을 구독하고, observable이 발생시키는 아이템을 observer가 사용할 수 있다고 한다. 여기까지만 보면 헷갈릴 것은 별로 없다. 하지만 코드를 작성하다보니 혼란이 왔다. Observable은 다음..
2021.09.17