在两个View Controller之间拖动时,从sourceViewController删除拖动的项目

时间:2018-12-18 12:00:50

标签: swift drag-and-drop closures containers

这看起来应该是如此明显。

工作流程是:

  1. CollectionViewControllerACollectionViewControllerB在并排容器视图中同时显示在屏幕上
  2. 将一个单元格从CollectionViewControllerA拖放到CollectionViewControllerB
  3. 将数据复制到CollectionViewControllerB(复制到基础数据源并反映在显示中)
  4. CollectionViewControllerA中删除数据(从基础数据源中删除并反映在显示中)

感谢一些出色的教程,第1-3步的工作原理很吸引人-但我仍然坚持第4步(如果感觉很明显!)

有人可以告诉我该怎么做吗?

我使用从performDropWith coordinator协议实施到DropDelegate的{​​{1}}方法处理第3步-但是很明显,目前这无法更改CollectionViewControllerB数据源/显示中的任何内容。

CollectionViewControllerA

PerformDropWith协调器方法未调用(同样,出于明显的原因!)。我尝试实现一个闭包,该闭包会将消息从B传递回A,以告知删除成功,但是我不知道如何从CollectionViewControllerA访问CollectionViewControllerA-因为我当我想访问现有的可见VC而不是查找并初始化一个新的VC时,不能使用'instantiateViewController(with identifier:')类型的方法。

0 个答案:

没有答案