obs.map { tag }
возвращает Observable, поскольку сигнатура функции:
ObservableType.map<Result>(_ transform: @escaping (Self.Element) throws -> Result) -> RxSwift.Observable<Result>
Поскольку map
возвращает Observable, ops.map { tag }
возвращает Observable.
.map{obs, tag in obs.map{tag}}
принимает массив (ControlEvent<()>, Int)
, проходит через каждый элемент и преобразует его в Observable<Int>
.
map
- это просто функция, преобразующая подтип функтора, для которого он вызывается,Таким образом, первая карта преобразует Массив X в Массив Y, а вторая карта преобразует ObservableType из X в Observable из Y.