Когда я наблюдаю за своей моделью области и привязываю изменения к табличному представлению, она работает. Но когда я пытаюсь добавить строку в таблицу, у меня вылетает
Завершение работы приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «попытка вставить строку 1 в раздел 0, но после обновления остается только 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)