2011-09-11 175 views
0

我完成了一個帶音頻的小應用程序,單擊「下一步」按鈕將播放聲音並帶我到下一頁,點擊「返回」將播放聲音並帶我回到上一頁。但是如果我做下一個,返回兩次,模擬器崩潰,我從日誌中收到下面的消息。任何人都可以幫忙,歡呼。 消息是:*線程1:編程接收到的信號:「EXC_BAD_ACCESS」* 雖然代碼確實編譯好,我可以翻頁(共41頁)。iPhone模擬器崩潰

回答

2

此錯誤最常引起的原因是嘗試調用已釋放對象的方法。診斷此問題的一種方法是在樂器中使用殭屍模板。當你發送一個釋放對象時,它會給你一個對話框(用調用堆棧)。無論什麼原因,這肯定與你的內存管理有關。

+0

非常感謝你,我怎麼會糾正這個,請,我需要什麼樣的代碼編寫和我應該在哪裏把必要該問題的代碼?乾杯! – idipro

+0

首先,你必須找出問題發生的地方。這是儀器的用途。我會推薦這個資源:http://www.markj.net/iphone-memory-debug-nszombie/ – dtuckernet

+0

這真是太好了!我正在看看,並會讓你知道,如果這解決了我的問題。再次感謝! – idipro

0

這是一個猜測。

你說如果你點擊下一步然後再打回來,它會崩潰。 我假設你將頁面保存在一個數組中,對嗎?如果是這樣,通過點擊兩次,你試圖加載索引爲-1的頁面。一個數組在索引-1處沒有對象。

如果我是正確的,所有你需要做的是這樣的:

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

非常感謝,dtuckernet是對的,這是內存管理問題,現在全部排序,謝謝你的幫助。 – idipro