При реализации функции удаления от удаляемого объекта у меня возникает следующая проблема: Когда я удаляю элемент, последний элемент из массива занимает его место.Несоответствие между таблицейView и базой данных
Так, например, у меня есть массив [1,2,3,4,5]. После удаления 2 (индекс 1) массив в базе данных выглядит так [1,5,3,4]. Но в представлении таблицы отображаются все правильные [1,3,4,5]. Почему это так? Я хочу, чтобы элементы Realm были сохранены таким образом [1,3,4,5].
Ниже, если реализация функции:
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
try! realm.write {
let itemToDelete = items[indexPath.row]
realm.delete(itemToDelete)
}
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Top)
}
}
Я очень ценю вашу помощь!
Если элементы в представлении таблицы отображаются правильно («1, 3, 4, 5»), откуда вы знаете, что они неправильно хранятся в Царстве? Я пытался воспроизвести ваше поведение, но не могу. Если бы вы могли добавить еще один код к своему вопросу, в том числе о том, как настроены ваши модели Realm и как ваш вид таблицы использует эти модели, это было бы здорово. Благодаря! – AustinZ
@AustinZ Я использую браузер Realm, чтобы посмотреть, как ведет себя база данных. Благодаря ответам ниже я вижу, что такое моя сортировка. – Robert