0

我有一个 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")**

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

请帮我。

谢谢。

4

1 回答 1

3

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

在你的情况下:

[dvc release]

(如果没有,您在 dealloc 方法中释放的所有对象都不会被调用!)

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

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

于 2010-10-10T19:34:26.303 回答