我有一個名爲「的MainView」視圖控制器獲取「EXC_BAD_ACCESS」,它會調用試圖dismissModalViewController時後父視圖控制器已經viewDidUnload
[self presentModalViewController:playView animated:NO];
插入「PlayView」視圖控制器。
當應用程序在PlayView上運行時,如果收到applicationDidReceiveMemoryWarning消息,它將調用MainView的viewDidUnload函數並釋放MainView對象。在這一刻,PlayView仍然活着。每一件事情是罰款,直到用戶點擊一個按鈕來離開PlayView,它(PlayView)將調用:
[self dismissModalViewControllerAnimated:NO];
然後應用程序崩潰與接收「EXC_BAD_ACCESS」錯誤信息...... 我想原因是, MainView對象消失了,當PlayView想要解散時,它無法找到合適的ViewController來呈現。
如何解決這個問題? T_T
PS。 PlayView視圖控制器由IB創建,並在MainView中設置爲retain屬性。
嗨,我可以問一個問題嗎? 收到viewDidUnload消息後,MainView的視圖是否爲零?這是對的嗎?如果是這樣,我怎樣才能讓PlayView在關閉之前重新載入它的視圖? 我確實在viewDidUnload函數中將保留的IBOutlet屬性子視圖設置爲nil。實際上,PlayView也是其中之一,但我必須將設置的PlayView忽略爲零。由於PlayView仍然顯示在屏幕上,如果我釋放它,應用程序將立即崩潰。 – firestoke 2011-06-16 16:38:06