Математические операторы в RxSwift
В этой статье мы рассмотрим математические операторы и операторы агрегирования в RxSwift. RxSwift — фреймворк, используемый для реактивного программирования под iOS.
reduce
Итак, каждый SO-элемент преобразуется посредством переданной функции с последующей передачей результата операции в виде параметра в функцию на дальнейшем этапе. Как только SO сгенерирует терминальное состояние, RO сгенерирует результат, то есть можно сказать, что RO сгенерирует только один элемент.
scan
Каждый SO-элемент преобразуется посредством переданной функции, результат операции генерируется в RO, однако, вдобавок к этому, происходит и передача в качестве параметра в функцию на следующем шаге. Если сравнивать с тем же reduce, то здесь количество элементов в RO равняется количеству элементов в SO.
toArray
SO = Observable RO = Observable<[T]>
После генерации терминального состояния все элементы из SO объединяются в массив, и генерируются RO.