【发布时间】:2011-10-06 19:14:50
【问题描述】:
在应用程序中有一个可以下载的文档列表。
我使用 NSURLRequest 和 NSURLConnection 管理异步下载过程。 文档的查看由 QLPriviewController 管理。
当我下载一个文档并且在它完全下载之前我推回并按下另一个文档时,我收到了这个错误:
*** -[QLPreviewController respondsToSelector:]: message sent to deallocated instance 0x3479a0
我找到了问题,但我不知道如何解决。
在 dealloc 方法中,我释放了 QLPreviewController。 当我删除它正在工作的版本时,但我猜它是内存泄漏。
有人可以帮我解决这个脑筋急转弯吗?
编辑:
请求和连接的初始化:
NSURLRequest *theRequest = [NSURLRequest requestWithURL:document.latestVersionURL
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
theConnection = [NSURLConnection connectionWithRequest:theRequest delegate:self];
【问题讨论】:
-
你能发布更多核心还是仅仅使用仪器僵尸来检测这个dealloc?处理 nsurlconnection 有时很难从内存管理方面理解..
-
为什么会是内存泄漏?它已经发布了自己,这就是您遇到崩溃的原因。您正试图再次释放它。您能否发布代码显示您如何启动 QLPreviewController?
标签: iphone ios multithreading memory memory-management