и банальный пример - описываешь datasource таблички
var dataSource = RxTableViewSectionedAnimatedDataSource<SectionModel>(configureCell: { (dataSource, tableView, indexPath, person) in
guard let cell = tableView.dequeueReusableCell(withIdentifier: "PersonCell", for: indexPath) as? CustomCell else {
return UITableViewCell()
}
…………..
return cell
})
а затем
personSectionsObservable.observeOn(MainScheduler.instance).share()
.bind(to: tableView.rx.items(dataSource: dataSource))
.disposed(by: disposeBag)
все у тебя табличка готова, не надо имплементить делегатные методы и прочее
+ асинхронность всего и вся
например для фильтрации таблички с задержкой ввода в 0.5сек
типа написал Москва и в свойство searchValue не М, Мо, Мос… будет падать а через 0.5сек упадет целиком слово Москва - и это достигается простым оператором .debounce
searchBar.rx.text
.orEmpty
.distinctUntilChanged()
.debounce(0.5, scheduler: MainScheduler.instance)
.bind(to: searchValue)
.disposed(by: disposeBag)
понял библиотека для pro
Обсуждают сегодня