RxSwift - withLatestFrom combining values from both observables

Wujo picture Wujo · Nov 3, 2017 · Viewed 10k times · Source

I want to achieve result like this:

L -1-2-3------4------5-6-7-8----
R ---------A------B----------C--

O ---------A3-----B4---------C8

So basically something like withLatestFrom but combining values from both observables (like combine latest).

I guess there is no ready operator for that. Any idea how to achieve this?

Answer

Timofey Solonin picture Timofey Solonin · Nov 3, 2017

Just use resulting selector from your withLatestFrom. The overloaded implementation without closure simply ignores first observable. For example:

Observable.just("one")
  .withLatestFrom(Observable.just(1)) 
  { oneAsString, oneAsInt in return (oneAsString, oneAsInt) }