2017-05-08 87 views
1

所以我有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個視圖控制器。沒有它將很難幫助你。 –

回答

0

@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) 
}