Отображение пустой метки состояния в tableView с RxTableView, архитектура mvvm - PullRequest
0 голосов
/ 19 октября 2018

Я изучаю rxswift , и у меня есть ViewController с tableView.
Я использую архитектуру MVVM, поэтому tableView привязан к ViewModel и онхорошо отображает данные

Но я хочу поставить пустое состояние метки TableView, когда у меня нет данных, и я не знаю, как это сделать, если это возможно.

Это мой код, такfar:

func bindViewModel() {    
    let inputs = viewModel.inputs
    let outputs = viewModel.outputs
    btnSomeAction.rx.action = inputs.someAction
    outputs.usersList
        .bind(to: tableView.rx.items(cellIdentifier: "UserTableViewCell", cellType: UserTableViewCell.self)) { (_,element,cell) in
            cell.setData(name: element.name, avatar: element.avatar)
    }
    .disposed(by: disposeBag)
}

Спасибо всем за любую помощь.
PS:
Я знаю, как это сделать в общей таблице без rx с количеством элементов ноль.Вопрос о rxtable.

1 Ответ

0 голосов
/ 23 июля 2019

Самым простым решением было бы преобразовать наблюдаемое в драйвер и вернуть модель пустого состояния, например:

   outputs.usersList
    .asDriver(onErrorJustReturn: [])
    .drive(to: tableView.rx.items(cellIdentifier: "UserTableViewCell", cellType: UserTableViewCell.self)) { (_,element,cell) in
        cell.setData(name: element.name, avatar: element.avatar)
}
.disposed(by: disposeBag)

Насколько я знаю, более сложное решение будет использовать RxDataSources * 1004.* RxDataSources - Как добавить пользовательскую пустую ячейку, когда нет данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...