Ray Wenderlich
-
RxSwift - flatMapLatest에 대해서 알아보자.Ray Wenderlich/RxSwift 2018. 6. 12. 23:35
Ch7. Transforming Operators p.146 - p.151 지난 포스트에서는 flatMap에 대해서 알아보았다. (flatMap포스트를 보지 않으면 아래 포스트를 이해하기 어려울 수 있습니다. flatMap은 링크) 이번엔 flatMap의 친구인 flatMapLatest에 대해서 알아보자.flatMapLatest는 두 개의 Operator가 합쳐져 있다고 볼 수 있다.flatMap과 switchLatest(뒤에 나올 예정) switchLatest에 대해서는 나중에 다루겠지만, 간단히 알아보도록 하자.switchLatest 또한 Observable in observable을 다루는데, 가장 최근에 추가된 시퀀스의 inner observable만 넘겨준다.(원문: switchLatest wi..
-
RxSwift - flatMap에 대해서 알아보자.Ray Wenderlich/RxSwift 2018. 6. 2. 22:54
Ch7. Transforming Operators p.146 - p.151 Transforming inner observablesinner observable이라 함은 Observable안에 있는 Observable을 말한다.inner Observable을 다루기 위해 필요한 flatMap에 대해서 알아보도록 하자. 문서에서는 flatMap을 이렇게 설명하고 있다.Observable시퀀스의 element당 한 개의 새로운 Observable 시퀀스를 생성한다. 이렇게 생성된 여러개의 새로운 시퀀스를 하나의 시퀀스로 합쳐준다.(원문: Projects each element of an observable sequence to an observable sequence and merges the resultin..
-
RxSwift - throttle에 대해서 알아보자.Ray Wenderlich/RxSwift 2018. 5. 10. 02:10
Ch6. Filtering Operators in Practice p.139 - p.141 이런 경우를 생각해보자. 검색창에 텍스트를 입력받는다. 텍스트가 입력될 때마다 검색어 자동완성을 보여주기 위해, API요청을 해야한다. 예를 들어, apple을 입력한다고 해보자. a를 입력할 때, APIp를 입력할 때, APIp를 입력할 때, APIl를 입력할 때, APIe를 입력할 때, API총 다섯 번 호출된다. 이거.. 괜찮나?? apple을 빠르게 입력한다면 apple이 모두 입력된 뒤에 한 번만 호출되면 좋겠다.app까지 타이핑되고 잠시 머무른다면, 그 때는 "app"이란 텍스트로 API를 호출해도 무방할 것이다. 이런 경우에 사용할 수 있는 오퍼레이터가 바로 throttle(:_scheduler)이다...
-
RxSwift - take, takeWhile, takeUntil에 대해서 알아보자.Ray Wenderlich/RxSwift 2018. 4. 5. 01:17
Ch5. Filtering Operators(3) p.112 - p.118 이전 Ch5 포스트에서는 ignore, elementAt, filter, skip, skipWhile, skipUntil 을 살펴보았다.Filtering Operators(1)은 여기를 클릭Filtering Operators(2)은 여기를 클릭 이번 포스트에서는 take, takeWhile, takeUntil, distinctUntilChanged에 대해서 알아보자. Taking operatorstake(_:)take는 skip의 정반대 개념이다. skip은 처음 발생하는 n개의 이벤트를 무시하는 기능이었다면, take는 처음 발생하는 n개의 이벤트만 받고 나머지는 무시한다.그림으로 살펴보자.take(2)의 역할은 아주 명백하다...
-
RxSwift - skip, skipWhile, skipUntil에 대해서 알아보자.Ray Wenderlich/RxSwift 2018. 4. 4. 01:51
Ch5. Filtering Operators (2) p.108 - p.111Filtering Operator(1)은 여기를 클릭 지난 포스트에서 ignore, elementAt, filter Operator에 대해서 알아보았다.이 포스트에서는 skip, skipWhile, skipUntil Operator에 대해서 알아보겠다. Skipping operatorsskip(_:)시퀀스에서 발생하는 이벤트 중 초반 몇개는 받고 싶지 않을수가 있다. 예를 들어, 일기예보를 받아보는 경우를 생각해보자. 일기예보를 받고 싶지만 난 오전 날씨가 궁금하지가 않다.근데 일기예보는 오전날씨부터 주구장창 알려줄거란 말이죠?? 이런 경우에, skip을 사용해서 오전날씨는 패스할 수 있겠네요. 시퀀스에 skip Operator가..
-
RxSwift - Operator를 시작해보자.Ray Wenderlich/RxSwift 2018. 3. 28. 23:03
Filtering Operators p.103 ~ p.107 이전 챕터까지, RxSwift의 주요 개념을 알아보았다. RxSwift를 하나의 건물로 비유하자면, 이제 건물의 뼈대는 세운 것이다.지금부터는, 건물의 층을 하나씩 올려보자!! 이번 챕터(Ch.5)에서는 RxSwift의 Filtering Operator를 사용하여, .next이벤트에 조건을 추가하게 된다.조건을 추가하면, 발생하는 모든 이벤트가 아니라!! 우리가 원하는 이벤트만 받을 수 있다. Swift의 컬렉션의 filter(_:)를 사용해봤다면, 이해가 훨씬 수월할 것이다.안써봤어도 걱정말자!! 쉬우니깐! Ignoring operators먼저 ignoreElements()를 알아보자. 이름에서 유추할 수 있듯, 모든 .next event를 ..
-
RxSwift - Subject란? (PublishSubject, Behavior Subject, Replay Subject, Variable)Ray Wenderlich/RxSwift 2018. 2. 14. 14:06
이번 포스트는 코드로 시작해보자 (바로 이해할 필요는 없음)PublishSubject는 데이터를 전달받아 subscriber들에게 뿌려주는 역할을 한다. 마치 신문사(newspaper publisher)에서 하는 Publish같은 느낌임이 코드는 수행해도 print는 되지 않는다. 이유는 subscriber가 없기 때문에! 그럼 subject를 subscribe하는 코드를 코드를 넣어보자.subject에서 next이벤트가 발생하면 string을 출력해주고 있다.이 코드를 넣어도 마찬가지로 print문은 수행되지 않는다.왜냐하면 PublishSubject는 현재 나를 subscribe하는 subscriber들에게만 이벤트를 emit하기 때문이다.즉, next이벤트가 발생한 뒤에 subscribe한 subs..