2015-10-08 44 views
-2

首先。 IT正在工作,直到Apple最後一次更新。所以理論上它應該仍然有效。 下面的代碼:iOS 9 Bug使用presentViewController時「EXC_BAD_ACCESS code = 2」

CarouselViewController *cViewController = [[CarouselViewController alloc] initWithContent: edition]; 

UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController: cViewController]; 

[self presentViewController: nav animated: YES completion:nil]; 

的原因,我這樣做是因爲我需要呈現在全屏模式下,而不是這個視圖控制器(主叫),它佔據了半個屏幕內這個新窗口。 那麼,我該如何解決這個問題?爲什麼在它工作之前,現在有了這個愚蠢的iOS 9更新,它不是?

+2

更新中的事物變化,控制流程通常會改變。我在上面猜測,蘋果公司可能已經修復了自己的錯誤,可以讓你的代碼工作。當你介紹風險投資時,以及你是否有效地呈現風險時,絕對沒有足夠的背景知道。所有這些都是因爲曾經工作並且現在不工作的東西並不意味着蘋果公司破產了。這可能意味着他們修正了某些事情或者調整了控制流程。如果你在生命週期中做了一些模糊的事情,但不遵循推薦的模式,那麼不能保證它不會中斷。 – TheCodingArt

+0

是的,我明白所有這些,但仍然沒有回答這個問題。 –

+0

堆棧跟蹤看起來像崩潰的地方是什麼?什麼是例外? –

回答

0

我的猜測(這就是所提供的有限信息)是問題的根本原因與CarouselViewController有關,它的視圖實際上正在加載並呈現在屏幕上。
這是什麼是此行期間,在您的應用中發生的
[self presentViewController: nav animated: YES completion:nil]

我會設定在視圖控制器子類loadView/viewDidLoad斷點或檢查出它的筆尖/故事板。

+0

我已經檢查了viewDidload ..它永遠不會被調用。甚至沒有viewWillAppear被稱爲。只有調用了initWithContent才能正確返回而沒有錯誤。 –

+0

我甚至可以用不同的方式使用啓動的CarouselViewController,它顯示..但只在viewcontroller調用者內部。它需要做的是將其全屏打開,就像之前使用原始代碼 –

+0

viewDidLoad將始終被調用在viewWillAppear之前。 –

相關問題