私の領域モデルを観察し、変更を表ビューにバインドすると機能します。私は、テーブルに行を追加しようとすると、しかし、私はキャッチされない例外により 「NSInternalInconsistencyException」、理由にアプリを終了いくつかのクラッシュRxSwift + RxRealm + RxCocoa行をUITableViewに挿入
を持っている:「セクション0に行1 を挿入しようとする試みが、わずか1行があります 更新後のセクション0で '
標準の代理人メソッドを使用せずに行うことはできますか?ここで
は私のコードスニペット現在
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)