2011-09-11 17 views
0

私は、「次へ」ボタンをクリックするとサウンドが再生され、次のページに移動します。「戻る」をクリックするとサウンドが再生され、前のページに戻ります。しかし、私が次の作業をやり直すと、シミュレータがクラッシュし、ログから以下のメッセージが表示されます。誰でも助けてくれる、歓声を上げることができます。 メッセージは:*スレッド1:プログラム受信信号: "EXC_BAD_ACCESS" * コードがコンパイルされていて、ページを回すことができます(合計41個)。iPhone Simulator Crash

答えて

2

このエラーは、ほとんどの場合、すでに割り当て解除されているオブジェクトに対してメソッドを呼び出すときに発生します。この問題を診断する1つの方法は、ゾンビテンプレートをInstrumentsで使用することです。割り当てられていないオブジェクトにメッセージを送るときに、(呼び出しスタックを使って)ダイアログを表示します。正確な原因が何であっても、これはメモリ管理に最も関連しています。

+0

は、私はこれをしてください修正する方法を、どのようなコード私は書く必要がないとはどこが必要に置く必要があり、どうもありがとうございましたその問題のコードですか?乾杯! – idipro

+0

まず、問題の発生場所を調べる必要があります。これはインストゥルメンタルのためのものです。私はこのリソースをお勧めします:http://www.markj.net/iphone-memory-debug-nszombie/ – dtuckernet

+0

これはあなたの非常にいいです!私は一見を持っていると私の問題を解決した場合はお知らせします。再度、感謝します! – idipro

0

これは推測です。

あなたは、次をクリックしてから2回クリックするとクラッシュすると言いました。 ページを配列に保持しているとしますか?その場合は、を2回クリックすると、インデックスが-1のページをロードしようとしています。配列には、インデックス-1にオブジェクトがありません。

私が正しい場合は、あなたがしなければならないのはこれです:

// In the back button code: 
if(currentPageIndex - 1 < 0) { 
    // Dont go back 
} else { 
    // Go Back 
} 
+0

ありがとうございましたdtuckernetは正しかった、それはメモリ管理の問題でした。今すぐソートされました。ありがとうございました。 – idipro