当我观察我的领域模型并将更改绑定到表视图时,它可以工作。但是当我尝试向表中添加行时,我遇到了一些崩溃
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试将第 1 行插入第 0 节,但更新后第 0 节中只有 1 行”
我可以在不使用标准委托方法的情况下做到这一点吗?
这是我的代码片段
let realm = try! Realm()
let places = realm.objects(Place.self)
Observable.from(places)
.bindTo(tableView.rx.items(cellIdentifier: "PlaceCell", cellType: PlaceCell.self)) { (row, element, cell) in
let viewModel = PlaceCellViewModel(place: element)
cell.setup(viewModel: viewModel)
}
.addDisposableTo(disposeBag)
Observable.changesetFrom(places).subscribe(onNext: { [weak self] result, changes in
if let changes = changes {
self?.tableView.beginUpdates()
let indexes = changes.inserted.map { IndexPath(row: $0, section: 0) }
self?.tableView.insertRows(at: indexes, with: .bottom)
self?.tableView.endUpdates()
} else {
self?.tableView.reloadData()
}
})
.addDisposableTo(disposeBag)