Как реализовать перетаскивание ячеек TableView в БД Realm


#1

Приветствую всех. Кто подскажет как правильно реализовать перетаскивание ячеек таблицы UITableView при использовании базы данных Realm. Не могу сам разобраться, информации по данному вопросу в сети мало, правда может я не то ищу. В туториале Realm что-то подобного не нахожу


#2

Удалось найти решение? озадачился такой же проблемой


#3

Информации море. И тут дело не в реалме или любой другой БД, а в принципиальном понимании механизма работы методов делегата таблиц и коллекций:
при перетаскивании из одного места в другое вы получаете, в соответствующем методе делегата, начальный индекПас и конечный. Используйте этот индексПас, чтобы сменить расположение вашего элемента в массиве модели данных и всё.

Пример:

  1. Перетаскиваете в таблице ячейку с первой строки на вторую. Начальное расположении ячейки в таблице indexPath.row = 0. Конечное indexPath.row = 1.
  2. В массиве модели данных вам нужно элемент под индексом [0] вставить на индекс [1]. Не забыв, смести другие элементы, а не перезаписать элемент под индексом [1].
  3. Перегрузить таблицу.

Итог: перетаскивание заключается в смене мест в массиве с данными и потом уже отображении таблицы на основе новых данных.


CoreData и перемещение ячеек в tableView