[英]Message sent to deallocated instance
我有一個應用程序,使用導航控制器導航到不同的視圖。 這就是我正在做的事情:
MapViewController *aMap = [[MapViewController alloc] initWithNibName:@"MapView"
bundle:nil ];
[self.navigationController pushViewController:aMap
animated:YES];
[aMap release];
在用戶操作中,我想返回第一個視圖。 這就是我做的:
-(void)alertView:(UIAlertView *)alertView
didDismissWithButtonIndex:(NSInteger)buttonIndex
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
當我按下調用波紋管方法的按鈕時,我的應用程序按預期進入第一個視圖。 但是,當我按下“主頁按鈕”並嘗試重新打開應用程序時,問題就出現了。 然后,應用程序崩潰,出現以下錯誤:
2010-12-23 14:33:18.504 test[4549:307] *** -[MapViewController respondsToSelector:]: message sent to deallocated instance 0x5c26320
我知道我向一個不存在的對象的實例發送消息,但我沒有發現這發生在哪里
你有什么建議嗎?
在解除分配后,有些東西試圖將消息發送到MapViewController。
它們是引用它的任何對象 - 是它的任何子視圖的委托,還是它接收任何通知,或類似的東西?
如果是這樣,您需要確保取消訂閱控制器的dealloc
方法中的任何通知,並將引用控制器的任何delegate
參數(在其他對象上)設置為nil。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.