我有一个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次吗?
请帮帮我。
感谢。
答案 0 :(得分:3)
您需要释放已使用的资源(需要释放每个内存分配)。
在你的情况下:
[dvc release]
(如果不是,那么你在dealloc方法中发布的所有objets都不会被调用!)
您还可以使用Xcode提供的泄漏性能工具。 (对于检测内存泄漏非常有用)
您应该阅读本文档:http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html