2011-07-20 15 views
0

私はここで何がうまくいかないのか分かりません。ビュー間で切り替えるときにクラッシュが発生します。EXC_BAD_ACCESSとゾンビですが、なぜそれが引き続き起こっているのかわからない

-(IBAction)pushnews; { 
NewsViewController *news = [[[NewsViewController alloc]init]autorelease]; 
news.title [email protected]"Page"; 
[self.navigationController pushViewController:news animated:YES]; } 

私は時々にautoreleaseを使用するが、通常、私はちょうど私の自己を解放:それにクリック Crash in instruments

は、最初のアクションでこのコードを参照しています。ここ

は楽器は私に与えるものです。私はオートリリースを取り除き、追加する必要があります[news retain]

私は間違って何をしていますか? EmptyStackのアドバイスに従い :回答に基づいて


編集ViewWillDisappearコードは次のようになります。

- (void)viewWillDisappear:(BOOL)animated { 
webView.delegate = nil; } 

これは私が言った(より多くのテスト保留)問題のviewDidLoadで

を解決するようだ:WebViewのを.delegate = self;それは問題だったかもしれません!

-(IBAction)viewcontroller; 
{ 
    NewsViewController *news = [[NewsViewController alloc]init]; 
    news.title [email protected]"Page"; 
    [self.navigationController pushViewController:news animated:YES]; 
    [news release]; 
} 
+1

私が間違っていれば私を修正しますが、Instrumentsは ' - [HomeViewController pushnews]'を参照しますが、 'viewController'を提示しました。 'pushnews'を投稿してください。 – DarkDust

+0

* NewsViewController *に* UIWebView *がありますか? – EmptyStack

+0

ダークダスト、名前を変更しました。私はあなたに関連する部分を示しています、それについて申し訳ありません。私はそれを元に戻して編集します。私はNewsViewControllerでWebビューを持っています – Sum

答えて

2

私の推測では、NewsViewControllerのUIWebViewがあるということです、そしてそれがクラッシュを引き起こしている:

+0

私はそれに感謝します。 – Sum

+0

このバグは再現するために少しの努力が必要ですが、私はそれをまだ実行していません。これは、私がInstrumentsでWebViewを取得した理由も説明します。 – Sum

+0

これは良い探している:)私はあなたがビューの間にこれを展開した後、皆さんにもっと知ってもらうよ – Sum

0

が、この代わりにしてみてください。 Webビューが解放された後で、Webビューのデリゲートメソッドが呼び出される可能性があります。その場合はwebView.delegate = nil;に設定してください。NewsViewControllerのviewWillDisappear:メソッド。

+0

ありがとうございましたが、私もそれをやったことがあります。同じエラーが出ます。 – Sum

+0

実際、これは私がやっていた間違いでした。機器がここにエラーがあると言っていたからといって、ViewControllerに余分なものがなかったというわけではありません。だから同じ状況に直面した場合は、ビューコントローラも見てください! – Sum

関連する問題