我的故事板布局是这样的,我_1132133_通过一个以模态方式呈现它的segue连接到 ModalVC
.
但是,以编程方式,在运行时,我总共实例化了 MainVC
的五个实例 .
因此,具有相同标识符的 MainVC
的所有五个实例都连接到 ModalVC
.
在 ModalVC
中执行某些操作并解除它后,我需要更改 MainVC
中的属性,并且似乎有各种方法通过segues执行此操作 .
这里的最佳答案非常详细,并解释了使用展开segue的实现,但仅在有一个源视图控制器的情况下:Passing data with unwind segue
My question is: 将使用segue,就像在那个答案中,或者任何其他方式,在我的情况下工作,同一个 MainVC
(相同的标识符)的多个实例附加到 ModalVC
的单个实例?
unwind segue是否仅在启动它的单个 MainVC
实例中传输数据或执行操作?或者它最终会影响所有五个 MainVC
实例,因为 MainVC
实例具有相同的标识符?如果是后者,有什么方法吗?
1 回答
Apple有一个全面的technical note关于如何解开segue工作以及如何确定目标视图控制器,但总的来说,该过程检查视图控制器导航层次结构以找到可以处理展开segue并且愿意这样做的第一个视图控制器 .
在您的情况下,这将是
MainVC
实例,它呈现正在展开的ModalVC
. unwind segue不能由不在导航层次结构中的视图控制器实例处理(例如,MainVC
的实例未显示ModalVC
)