基于ModalViewController的应用程序在30次演示后崩溃

时间:2010-10-10 19:31:15

标签: iphone objective-c ipad memory-management modalviewcontroller

我有一个ipad应用程序,其中包含类别(tableviewcontrollers)和详细视图,其中有一个webview显示tableview上行的信息。

在类别表视图的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")**

当我解散模态视图控制器时,我将释放我在详细视图上使用的所有对象。但我无法解决的问题是为什么会崩溃?那是一个bug吗?我不能使用presentModalViewController超过30次吗?

请帮帮我。

感谢。

1 个答案:

答案 0 :(得分:3)

您需要释放已使用的资源(需要释放每个内存分配)。

在你的情况下:

[dvc release]

(如果不是,那么你在dealloc方法中发布的所有objets都不会被调用!)

您还可以使用Xcode提供的泄漏性能工具。 (对于检测内存泄漏非常有用)

您应该阅读本文档:http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html