Я использую RxSwift для привязки UITableView к источнику данных.Я хочу выбрать ячейку таблицы в табличном представлении.Выбор не работает нажатием, но хорошо работает жестом смахивания.В чем может быть проблема?
Вот что я пытался сделать:
- обновить RxSwift, RxCocoa
- очистить проект
- удалить производные данные
- попробуйте комбинации настроек представления таблицы и ячейки представления таблицы
Здесь мой код
Просмотр модели
import Foundation
import RxSwift
class ViewModel {
let selectItem: AnyObserver<String>
let didSelectItem: Observable<String>
let items: Observable<[String]>
init() {
let _selectItem = PublishSubject<String>()
self.selectItem = _selectItem.asObserver()
self.didSelectItem = _selectItem.asObservable()
items = TestAppData.getData()
}
}
ViewController
import UIKit
import RxSwift
import RxCocoa
class ViewController: BaseViewController {
@IBOutlet weak var dataTableView: UITableView!
var viewModel: ViewModel!
override func viewDidLoad() {
super .viewDidLoad()
setup()
}
private func setup(){
viewModel.items
.observeOn(MainScheduler.instance)
.bind(to: dataTableView.rx.items(cellIdentifier: "DataCell", cellType: UITableViewCell.self)) {
(_, dataValue, cell) in
cell.textLabel?.text = dataValue
cell.selectionStyle = .none
}
.disposed(by: disposeBag)
dataTableView.rx.modelSelected(String.self)
.bind(to: viewModel.selectItem)
.disposed(by: disposeBag)
}
}
Настройки TableView и TableViewCell:
RxSwift 4.1.2, RxCocoa 4.1.2