错误的呈现视图控制器,如果从过电流上下文视图控制器呈现

问题描述:

所以我有3个视图控制器我有一个问题。我有视图控制器A,它呈现一个演示风格为currentContext的视图控制器B.该视图控制器B呈现具有默认演示风格的视图控制器C.事情是这样的: presents over current context presents regularly VC A -------------------------------> VC B --------------------> VC C 错误的呈现视图控制器,如果从过电流上下文视图控制器呈现

的问题是,当我想关闭该视图控制器C,该presentingViewController财产分给VC一个,而不是VC B,而且,VC B的viewWillAppear不叫,而在VC A中是viewWillAppear

我不能使用dismiss(animated flag: Bool, completion: (() -> Void)? = nil)的完成块,因为VC B不能控制VC C的解除。它是一个可以从应用程序中的几个点开始的流程,因此这个导航的管理流程是在一个单独的课程中完成的。

这里发生了什么?我真的需要叫VC B的viewWillAppear

+0

你愿意发布了代号为3个视图控制器。没有它将很难帮助你。 –

@Kinopio - 我猜你面临的问题是因为你从VC A中解散了控制器,所以这里自指向当前类。您需要将消息传递给VC B,并从那里解雇。

//code in VC A 
func dismissViewControllerNoC(){ 
viewControllerNoB.dismiss() 
} 

//code in VC B 
func dismiss(){ 
dismiss(animated flag: Bool, 
    completion: (() -> Void)? = nil) 
}