在应用程序中,您可以下载文档列表。
我使用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];
答案 0 :(得分:1)
将NSURLConnection
作为实例变量引用。
在您的dealloc方法中,在发布QLPreviewController
之前,请致电cancel
上的NSURLConnection
。
这将停止请求并阻止它尝试调用已解除分配的QLPreviewController
上的任何方法。