0

我有一個ipad應用程序,其中有類別(tableviewcontrollers裏面)和詳細信息視圖,其中有一個webview顯示tableview上的行信息。基於ModalViewController的應用程序在30個演示文稿後崩潰

在類別表視圖didSelectRowAtIndexPath方法的功能我使用的代碼:

DetayViewController *dvc = [[DetayViewController alloc] init]; 
Blog *b = (Blog *)[self.blogArray objectAtIndex:indexPath.row]; 
dvc.cagirilanBlog = b; 
[self presentModalViewController:dvc animated:YES]; 

這工作得很好。但是,在使用應用程序時,如果您在表格視圖中單擊行並打開詳細信息頁並關閉它約30次,則應用程序會崩潰並退出。

的警告我得到當應用程序崩潰是這樣的:

**Received memory warning. Level=1** 

**Received memory warning. Level=2** 

**Program received signal: 「0」. 
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib")** 

當我dissmiss模態視圖控制器,我釋放我上詳細視圖中使用的所有對象。但我無法解決的問題是爲什麼會崩潰?是一個錯誤?我不能使用presentModalViewController超過30次?

請幫幫我。

謝謝。

回答

3

您需要釋放已使用的資源(每個內存分配需要釋放)。

你的情況:

[dvc release] 

(如果沒有,你在dealloc方法釋放了所有OBJETS不會被調用!)

您還可以使用提供的Xcode的泄漏性能工具。 (用於檢測內存泄漏非常有用)

,應該閱讀本文件:http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

+0

這樣做:DetayViewController * DVC = [[[DetayViewController的alloc] INIT]自動釋放]; – 2010-10-10 19:38:57

+0

親愛的威廉,當我使用此代碼:[dvc發佈];在創建DetayViewController時,當我關閉modalviewcontroller時,應用程序因-dealloc方法而崩潰。例如它說:[DetayViewController urlReq]:消息發送到釋放實例0x62c39d0 之後,我試圖清理我的dealloc方法,不要手動釋放對象,但即使在這種情況下,應用程序意外崩潰並給出此錯誤: - [DetayViewController respondsToSelector:]:消息發送到釋放實例0x62ca070,我不明白。我沒有使用像「respondsToSelector」:( – 2010-10-10 20:34:39

+0

和如果我使用autorelease,同樣的錯誤。 – 2010-10-10 20:36:21