我正在使用NSOperationQueue和NSOperation进行异步下载操作。当应用加载时,该过程在app delegate中启动。 这是代码
for(Campaign *cmp in campaigns)
{
DownloadOperation *operation = [[DownloadOperation alloc] initWithCamapign:cmp];
[self.downloadQueue addOperation:operation];
}
运行一段时间后,应用程序崩溃发送消息
[Downloadoperation retain]:发送到解除分配的实例的消息
下载操作扩展了NSOperation
DownloadOperation:NSOperation
下载队列在appdelagate中声明如下
NSOperationQueue *downloadQueue;
@property(nonatomic,strong) NSOperationQueue *downloadQueue;
我正在使用ARC。如何告诉编译器不应该释放该对象?
添加:我已经调试了应用程序一段时间了。我想分享我发现的东西。 DownloadOperation类正在实现一个 delagate。委托基本上接收HTTP的结果 操作。处理该类的类生成异常 HTTP请求尝试将响应发布回DownloadOperation 类。那时它打电话
[self.delegate didLoadPage:pageNumber withResults:results]
我认为发布了DownloadOperation类的委托吗?