我正在使用RxSwift将UITableView绑定到数据源。我想在表格视图中选择表格单元格。选择不适用于点击,但通过轻扫手势很好地工作。可能是什么问题?
这就是我要做的事情:
这是我的代码
查看模型
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)
}
}
答案 0 :(得分:0)
尝试此实现
dataTableView.rx.itemSelected
.subscribe(onNext: { [unowned self] indexPath in
//DO something with cell
}).disposed(by: disposeBag)