enum Input { case text(String); case page(Int) }
Я управляю разбиением на страницы с помощью поиска по ключевым словам в методе API.
Теперь я могу передать ключевые слова или номер страницы, но не оба одновременно в Rx.
Я написал следующий код с помощью некоторых существующих доступных
let start = Observable.merge(reload, loadNext)
let stringObservable = keyword.asObservable().map { Input.text($0) }
let intObservable = start.asObservable().map { Input.page($0) }
let request_call = Observable.of(stringObservable, intObservable).merge()
let page = request_call
.flatMap { input in
Observable.combineLatest(Observable.just($0), api.loadData(page: $0, keyword: "breaking")) { (pageNumber: $0, items: $1) }
.materialize()
.filter { $0.isCompleted == false }
}
.share()
start keep Number Page, а ключевое слово сохраняет ключевые слова для поиска.
Мне нужно объединить оба, я использовал ENUM & Merge,
Теперь я должен вызвать API, но в качестве ввода отображается
Так как я могу получить оба значения в одной flatMap