Удаление перетаскиваемого элемента из sourceViewController при перетаскивании между двумя контроллерами представления - PullRequest
0 голосов
/ 18 декабря 2018

Кажется, это должно быть так очевидно.

Рабочий процесс:

  1. CollectionViewControllerA и CollectionViewControllerB отображаются на экране одновременно в параллельных видах контейнера
  2. Перетащите ячейку из CollectionViewControllerA до CollectionViewControllerB
  3. Копирование данных в CollectionViewControllerB (в основной источник данных и отображение на дисплее)
  4. Удаление данных из CollectionViewControllerA (из основного источника данных и отображение на дисплее)

Благодаря некоторым превосходным учебникам, шаги 1-3 работают как шарм - но я застрял на шаге 4 (и если кажется, что это должно быть очень очевидно!)

Можеткто-нибудь посоветуете мне как это сделать?

Я выполняю шаг 3 с помощью метода performDropWith coordinator из протокола DropDelegate, реализованного в CollectionViewControllerB, но, очевидно, в настоящее время он не имеет возможности что-либо изменить в CollectionViewControllerA источнике данных / отображении.

PerformDropWith метод-координатор для CollectionViewControllerA не вызывается (опять же по понятным причинам!).Я попытался реализовать замыкание, которое передавало бы сообщение от B к A, чтобы сообщить ему, что удаление прошло успешно, но я не могу понять, как получить доступ к CollectionViewControllerA из CollectionViewControllerB - так как я не могу использоватьтип instantiateViewController (с идентификатором:), когда я хочу получить доступ к существующему, видимому VC, а не искать и инициализировать новый.

...