Приветствую всех. Кто подскажет как правильно реализовать перетаскивание ячеек таблицы UITableView при использовании базы данных Realm. Не могу сам разобраться, информации по данному вопросу в сети мало, правда может я не то ищу. В туториале Realm что-то подобного не нахожу
Как реализовать перетаскивание ячеек TableView в БД Realm
ODiN
#3
Информации море. И тут дело не в реалме или любой другой БД, а в принципиальном понимании механизма работы методов делегата таблиц и коллекций:
при перетаскивании из одного места в другое вы получаете, в соответствующем методе делегата, начальный индекПас и конечный. Используйте этот индексПас, чтобы сменить расположение вашего элемента в массиве модели данных и всё.
Пример:
- Перетаскиваете в таблице ячейку с первой строки на вторую. Начальное расположении ячейки в таблице
indexPath.row = 0
. КонечноеindexPath.row = 1
. - В массиве модели данных вам нужно элемент под индексом [0] вставить на индекс [1]. Не забыв, смести другие элементы, а не перезаписать элемент под индексом [1].
- Перегрузить таблицу.
Итог: перетаскивание заключается в смене мест в массиве с данными и потом уже отображении таблицы на основе новых данных.
CoreData и перемещение ячеек в tableView