1

在我的應用程序,我模式之間切換視圖。我的問題是,當我從第一個viewController移動到第二個,它的工作原理。當我第一次解僱第二種觀點時,這也是有效的。你說這個問題在哪裏?它來了。當我第二次從第一個viewController移動到第二個時,它再次工作。正如它應該的那樣。然而,當我試圖拒絕接受第二次的viewController第二次,我上奇怪的EXC_BAD_ACCESS與[self dismissModalViewControllerAnimated]

[self dismissModalViewControllerAnimated:YES]; 

線的EXC_BAD_ACCESS錯誤。

爲什麼它第二次崩潰,但從來沒有第一次?

編輯一個:

發生此錯誤無論哪個的viewController我切換到:

如果我從A移動到B,再回到A,然後B,然後嘗試去回A :崩潰 如果我從A移動到C,然後再返回到A,然後到C,然後嘗試回到A:崩潰再次

編輯兩個:

創建/顯示與此視圖控制器代碼:

MapView *controller = [[MapView alloc] initWithNibName:@"MapView" bundle:nil]; 

controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:controller animated:YES]; 

我應該在創建它之後釋放這個對象嗎?

問題解決。在我使用模態視圖之前,我曾經在使用過渡代碼時使用了有效的代碼行,並且我忘記將其刪除。贏得。

+0

搜索使用XCode4啓用NSZombies – bryanmac

+0

已經做到了,提供了很少或沒有信息 –

+0

控制檯給我沒有任何信息或錯誤報告 –

回答

2

通常,EXC_BAD_ACCESS錯誤意味着您正在嘗試引用已釋放的對象,即您正在過度釋放某些內容。檢查你的內存管理,也許運行構建/構建和分析工具。

是的,你應該在模態地呈現視圖控制器之後調用[controller release];

+0

但是,什麼可能過度釋放?自?這將如何發生? –

+0

使用NSLog時,我確認當解僱被調用時,self不爲空;還有什麼可能導致這個問題? –