Я реализую простой UITableView адресов с использованием RxSwift и MVVM. Я создал привязку в контроллере своего вида.RxSwift, MVVM - Не удается реализовать методы UITableViewDataSource с привязкой RxSwift
viewModel.addressList.asDriver()
.drive(tableView.rx_itemsWithCellIdentifier(reusableIdentifier, cellType: SavedAddressTableViewCell.self)) { [weak self] (row, viewModel, cell) in
self?.setUpAddressCell(cell, row: (row + 1))
}
.addDisposableTo(disposeBag)
Однако, я продолжаю получать эту ошибку, когда пытаюсь открыть страницу в своем приложении.
Maybe delegate was already set in `xib` or `storyboard` and now it's being overwritten in code.
Я Googled и обнаружил, что я должен установить tableView.delegate и tableView.dataSource к нулю.
Однако, есть некоторые методы UITableViewDataSource, что мне еще нужно, как
canEditRowAtIndexPath
commitEditingStyle
для удаления адресов.
Как это реализовать? Заранее спасибо.
Ах нет, это не сработает. Вы будете заполнять свои ячейки, но не поможете вам реализовать функции анимации удаления, о которых я упоминал выше. –
Затем вы захотите использовать [RxDataSources] (https://github.com/RxSwiftCommunity/RxDataSources) или проверьте этот [rx-example] (https://github.com/ReactiveX/RxSwift/blob/master/RxExample /RxExample/Examples/TableViewWithEditingCommands/TableViewWithEditingCommandsViewController.swift) – XFreire
Точно, я не мог найти альтернативное решение самостоятельно. Спасибо чувак! –