Programming/RxSwift
-
RxSwift - Subject와 RelayProgramming/RxSwift 2022. 3. 25. 16:48
안녕하세요 BeePeach입니다. 오늘 공부해볼 내용은 Subject와 Relay입니다. RxSwift의 기본개념에서 알아본 것처럼 Observable은 단방향입니다. 이벤트를 방출할 수 있지만 받지는 못합니다. 반대로 Observer는 이벤트를 받을 수는 있지만 방출할 수는 없습니다. 앱을 개발할때 Observable이 값을 방출하는 중에 Observer에게 이전에 정의해놓지 않은 새로운 값을 방출해야 하는 경우가 매우 많습니다. 그런데 Observable은 앞에서 말했듯이 read only이기 때문에 새로운 값을 방출하도록 할 수 없습니다. create, just, of 등 오퍼레이터를 사용할때 미리 정의해놓은 값만 방출합니다. 이럴 때 Observable과 Observer의 특성을 모두 가지는 Su..
-
RxSwift - TraitProgramming/RxSwift 2022. 3. 24. 21:07
안녕하세요 BeePeach입니다 :) 오늘은 Trait에 대해서 공부해보도록 하겠습니다. Trait는 이전에 우리가 공부한 기본적인 Observable보다 좀 더 특정된 기능에 집중한 Observable입니다. Trait들도 결국에는 Observable입니다. 그래서 Trait를 쓰는 코드에는 우리가 공부했던 Observable을 사용해도 아무런 문제가 없습니다. 하지만 Trait를 사용하는 이유가 존재하겠죠? Trait를 이용하면 간편하고 직관적인 코드를 만들 수 있습니다. 오늘은 RxSwift에서 제공하는 Trait에 대해서 공부해볼 예정입니다. 그 이후 RxCocoa를 공부하고 난 뒤에 RxCocoa에서 제공하는 또 다른 여러 Trait를 살펴보도록 하겠습니다. 일반적으로 RxSwift에서 제공하는..
-
RxSwift - Observable factoryProgramming/RxSwift 2022. 3. 21. 18:31
안녕하세요 BeePeach입니다 :) 오늘은 Observable factory에 대해서 공부해보도록 하겠습니다. 사실 이 부분은 이후에 포스팅할 Operator부분에서 다뤄도 되는 부분인데 먼저 다뤄보도록 하겠습니다. Observable factory 란 Observable에서 제공하는 deferred 오퍼레이터를 이용해서 조건에 따라 구독자마다 새로운 Observable을 생성하는 것을 말합니다. Factory 즉, 공장이라는 것을 떠올려보면 Observable을 찍어내는 공장을 생각하면 됩니다. 주의해야하는 것은 조건에 따라 다른 이벤트를 방출하는 게 아니라 다른 Observable을 생성한다는것입니다. 말로만해서는 이해가 안가니까 찬찬히 살펴보도록 하겠습니다. deffered 오퍼레이터를 살펴보면 ..
-
RxSwift - DisposableProgramming/RxSwift 2022. 3. 17. 21:39
안녕하세요 BeePeach입니다 :) 오늘은 Disposable에 대해서 공부해보려고 합니다. subscribe 오퍼레이터를 통해서 구독을 시작하면 Observable이 동작을 하게 된다고 공부를 했습니다. 그럼 이벤트 방출을 시작한 Observable은 언제 종료될까요?? Observable은 Error나 Completed 이벤트를 방출하게 되면 종료됩니다. 혹은 두 이벤트를 방출하지 않아도 dispose()를 호출하면 Observable이 종료됩니다. Disposable Disposable이란 사전적 의미는 "처리할 수 있는" 입니다. Disposable를 이용해서 Observable과 Observer의 sequence를 끊고 Observable과 관련된 모든 리소스를 정리할 수 있습니다. Dispo..
-
RxSwift - SubscribeProgramming/RxSwift 2022. 3. 17. 21:39
안녕하세요 BeePeach입니다 :) 오늘 공부해볼 내용은 Subscribe입니다. 이전 포스팅에서 Observable을 생성해서 sequence를 정의했습니다. 그런데 정의만 하고 사용하지 않았죠? Observable에서 정의한 이벤트들을 받기 위해서는 Subscribe(구독)을 해야 합니다. Subcribe 그럼 어떻게 구독할 수 있을까요?? Observable과 Observer를 연결해주는 방법은 Observable에서 제공하는 subscribe(_:) 인스턴스 메서드를 사용하는 것입니다. 이 메서드는 ObservableType 프로토콜에 정의된 메서드인 것을 이전에 확인했었습니다. subscribe(on:) 메서드는 파라미터로 escaping 클로저를 받고 Disposable을 리턴하는 메서드입니..
-
RxSwift - ObservableProgramming/RxSwift 2022. 3. 5. 22:38
안녕하세요 BeePeach입니다 :) 오늘 공부해볼 내용은 RxSwift에서 가장 기초가 되는 Observable입니다. Observable이란?? Observable, ObservableSequence, Sequence라고 불립니다. 모두 같은 말이고 주로 Observable이라는 단어를 사용합니다. Observable은 하나의 sequence, 즉 흐름입니다. 일정 기간 동안 event를 발생시키는데 이를 emit(방출)한다고 표현합니다. 그리고 이 모든것들은 asynchronous하게 동작합니다. RxSwift에서 asyn한 코드를 처리하는 것은 사용 이유 중에 하나라고 했었죠?? 만약 우리가 Swift에서 async한 코드를 작성하려고 한다면 주로 completionHandler를 이용하거나 de..
-
RxSwift - 개요Programming/RxSwift 2022. 3. 3. 23:17
안녕하세요 BeePeach입니다 :)오늘은 RxSwift에 대해서 공부를 해볼 예정입니다. iOS 공부를 하다 보면 RxSwift는 한 번쯤 들어보셨을겁니다.채용공고에도 우대사항에는 꼭 RxSwift 경험 해보신 분이라는 문구가 있죠.그래서 많은 신입개발자 분들이 RxSwift를 공부하려고 하실텐데요! 하지만 RxSwift를 왜 공부해야하는지, 언제 사용해야하는지를 모르고 무작정 시작하면 제대로 사용할 수 없습니다.그래서 오늘은 RxSwift의 기본 개념에 대해서 공부해보도록 하겠습니다. 이 내용은 적어도 Async(비동기), Sync(동기)의 개념은 알고있어야 이해가 쉽습니다. Rx 사용 이유 RxSwift는 Reactive Programming 아이디어를 Swift에 적용시킨 것입니다.왜 Swift..