2015-08-25 6 views
0

У меня есть представление таблицы, которое заполняется из массива строк. Использование пользователей UIGestureRecognizer может изменить порядок ячеек и сохранить новый порядок.Добавление текста из всех таблиц TableView в массив

При нажатии кнопки «Сохранить» мне нужен новый порядок ячеек для сохранения в массиве. Я пробовал много разных методов без успеха.

Как я могу захватить все текущие тексты ячеек по порядку?

ответ

0

Не полагайтесь на содержимое ячеек в качестве источника данных. Когда пользователь переупорядочивает ячейки, обновите свой массив поддержки, чтобы он соответствовал (или его копию, если вам нужно вернуть изменения).

Таким образом, если вы хотите сохранить, все уже в правильном порядке.

+0

Благодарим за это. На самом деле я начал пытаться это сделать, но изменил идею Save, поскольку он не исправлял массив правильно. Можете ли вы сообщить, как я могу обновить массив при каждом изменении? –

+0

Я бы захватил indexPath, как только они начнут редактировать позицию ячейки, используйте этот indexPath, чтобы получить позицию в массиве строки, которую вы хотите переместить. Как только они закончат перемещение ячейки, возьмите новый indexPath, и это скажет вам, куда переместить строку в массив, оттуда просто удалите строку из ее текущего местоположения и поместите ее в новое место, где ячейка была в. Это может быть сделано в конце любого метода, который вы должны обрабатывать движениями клеток. –

+1

В основном, что сказал @BillL. Это зависит от того, что вы подразумеваете под «Использование UIGestureRecognizer». Делегат представления таблицы имеет метод tableView: targetIndexPathForMoveFromRowAtIndexPath: toProposedIndexPath: ', который предоставляет необходимую информацию из/для информации, если вы используете этот механизм для повторного заказа. –

Смежные вопросы