Ray Wenderlich/RxSwift
-
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..
-
RxSwift - Dispose란? (Disposable, DisposeBag)Ray Wenderlich/RxSwift 2018. 2. 6. 13:10
Dispose and Terminating ~ P.66 Dispose and terminatingObservable은 subscribe가 있기 전까지 아무일도 하지 않는다는걸 떠올리자.Subscription이 있어야 비로소 Observable은 이벤트를 발생시키고 complete 또는 error이벤트가 발생하기 전까지 계속 next이벤트를 발생시킨다. subscription을 중단하는 방법이 있다. 코드를 보자.1. String의 Observable을 생성했다.2. subscribe를 시작한다. 이번에는 subscription이라는 로컬변수에 subscribe()메소드의 리턴타입인 Disposable이 저장되었다.3. 발생하는 이벤트를 모두 로깅한다. subscription을 명시적으로 중단하기 위해 d..
-
RxSwift - Observable이란?Ray Wenderlich/RxSwift 2018. 1. 30. 15:25
Observables ~ p.54 What is an observable?Rx에는 “observable”, “observable sequence”, “sequence” 이런 단어들이 많이 나온다. 다 같은 의미다.가끔 “stream”이란 단어도 나오는데, 우리는 “stream“이란 단어를 사용하도록 하자. Observable은 하나의 sequence이고, 여러가지 강점을 갖고 있다.그 중 하나가 다들 알겠지만, async하다는 것! 그리고, Observable이 이벤트를 발생시키는것을 emit한다고 표현한다.발생하는 이벤트들은 숫자, 커스텀 인스턴스, 제스쳐(ex. tap) 와 같은 값을 포함할 수 있다. 그림으로 이해해보자. 이 그림은 하나의 sequence를 의미한다.가로로 긴 화살표는 시간의 흐름을..
-
RxSwift를 시작하기에 앞서. (Before RxSwift)Ray Wenderlich/RxSwift 2018. 1. 30. 14:45
Before starts RxSwift ~p.31 RxSwiftRxSwift는 비동기 코드, 또는 이벤트 기반 코드 작성에 도움이 되는 라이브러리이다.Observable Sequence와 함수형 프로그래밍 스타일을 이용한다. 비동기 프로그래밍?아래 나열한 상황이 동시에 발생할 수 있을 것이다.-UIButton터치에 반응- 텍스트 입력을 끝내고 키보드가 사라지는 애니메이션이 진행중- 인터넷에서 사진을 다운로드 받는 중- 디스크에 데이터를 저장중- 오디오 재생중- 기타 등등 애플에서 제공하는 방법을 통해 이런 비동기작업을 수행하려면 아래와 같은 방법을 이용했을 것이다.- NotificationCenter- Delegate 패턴- GCD- 클로져 위 방법들을 사용하면 비동기 작업들이 실행되는 순서를 보장할 수..