전체 글 (51) 썸네일형 리스트형 [RxSwift] Operators (2) Transforming Operators toArray Observable이 방출하는 모든 요소를 배열에 담은 다음 Completed 시점에 이 배열을 방출(하나의 요소를 방출)하고자 할때 toArray 연산자를 사용한다. 소스 Observable이 종료되기 전까지 구독자에게 이벤트가 전달되지 않는다. let subject = PublishSubject() subject .toArray() .subscribe { print($0) } .disposed(by: disposeBag) subject.onNext(1) // 구독자로 전달되지 않음 subject.onNext(2) // 구독자로 전달되지 않음 subject.onCompleted() // Observable이 종료되어 구독자애게 하나의 배열을 전달하.. [RxSwift] Operators (1) RxSwift에서는 새로운 Observable을 생성한다거나, 방출되는 요소를 필터링, 혹은 여러 Observable을 하나로 합친다거나 하는 다양한 메소드들이 있다. 그리고 이런것들을 연산자(Operator)라고 부른다. (연산자는 새로운 Observable을 return한다.) 연산자는 보통 subscribe 앞에 추가한다. 즉 구독자(observer)에게 전달되기 전까지 전달 되어야 할 데이터를 원하는 만큼 가공한 후에 전달되게끔 의도할 수 있다. Create Operators just 먼저 just 연산자에 대해서 알아보겠다. just 연산자는 하나의 항목을 방출하는 Observable을 생성한다. (파라미터로 하나의 요소를 받아서 Observable을 return) let element = "S.. [RxSwift] Subject & Relay 지난 포스팅에서 Observable은 이벤트를 observer에게 전달하고, observer는 Observable을 구독하여 전달되는 이벤트를 처리한다고 했다. Observable은 observer와 달리 다른 Observable을 구독하지 못하며(observer만이 구독 가능) observer는 다른 observer로 이벤트를 전달하지 못한다.(Observable만이 이벤트 전달 가능) 여기서 Observable과 observer의 역할을 동시에 수행할수 있는 Subject라는 것이 나왔다. Subject는 다른 Observable로부터 이벤트를 받을수도 있으며 Subject를 구독하고 있는 구독자에게 이벤트를 전달할수도 있다. 그러니 Subject는 Observable인 동시에 observer인 샘이.. 이전 1 2 3 4 5 6 7 ··· 17 다음