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