【发布时间】:2016-10-22 07:56:11
【问题描述】:
当我观察我的领域模型并将更改绑定到表视图时,它可以工作。但是当我尝试向表中添加行时,我遇到了一些崩溃
由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'尝试插入第 1 行 进入第 0 节,但在第 0 节之后只有 1 行 更新”
我可以不使用标准的委托方法吗?
这是我的代码 sn-p
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)
【问题讨论】:
标签: swift realm rx-swift rx-cocoa