Доступ к представлению исходной таблицы в performDropWith обратный вызов делегата

#ios #swift #uitableview

#iOS #swift #uitableview

Вопрос:

Я добавил функцию перетаскивания с использованием iOS 11 UITableViewDragDelegate / UITableViewDropDelegate pair для нескольких представлений таблицы.

Есть ли какой-либо способ для меня получить доступ к объекту исходной таблицы, чтобы я мог вызвать .reloadData() его?

Комментарии:

1. что вы имеете в виду «Есть ли у меня какой-либо способ получить доступ к объекту исходной таблицы»

Ответ №1:

Для меня непонятна эта часть

Есть ли какой-либо способ для меня получить доступ к объекту исходной таблицы

однако вы можете использовать property observer didSet для перезагрузки TableView при каждом изменении переменной.

что-то вроде этого должно сработать,

 var dataSrouce: [String] = [] { // your data source object. 
    didSet {
        tableView.reloadData() // reload the tableView using that data source. 
    }
}
  

Комментарии:

1. Это не отвечает на вопрос. У меня есть 20 представлений таблиц, и пользователь перетаскивает из одного в тот, который он хочет. Метод делегата вызывается в цели при импорте. Как мне получить доступ к представлению исходной таблицы?

2. вы хотите перезагрузить tableview, потому что источник данных изменился правильно?

3. реализуйте это в каждом источнике данных, который вы используете, и он автоматически перезагрузит любой TableView, в котором есть какие-либо изменения в источнике данных.

4. Нет, я хочу перезагрузить его, только если мы завершили успешное удаление. На данный момент мне нужно перезагрузить dragEnd

5. Приятель, ты прочитал вопрос? Источник данных не изменяется. Пользователь перетаскивает ОДИН элемент по таблицам.