Математические операторы в RxSwift

В этой статье мы рассмотрим математические операторы и операторы агрегирования в RxSwift. RxSwift — фреймворк, используемый для реактивного программирования под iOS.

reduce

Итак, каждый SO-элемент преобразуется посредством переданной функции с последующей передачей результата операции в виде параметра в функцию на дальнейшем этапе. Как только SO сгенерирует терминальное состояние, RO сгенерирует результат, то есть можно сказать, что RO сгенерирует только один элемент.

scan

Каждый SO-элемент преобразуется посредством переданной функции, результат операции генерируется в RO, однако, вдобавок к этому, происходит и передача в качестве параметра в функцию на следующем шаге. Если сравнивать с тем же reduce, то здесь количество элементов в RO равняется количеству элементов в SO.

toArray

SO = Observable
RO = Observable<[T]>   

После генерации терминального состояния все элементы из SO объединяются в массив, и генерируются RO.

Источник