iam用于通过ASIHTTPRequest将多个文件下载到操作队列...
NSInvocationOperation *operation =[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(DownloadFile:) object:url];
.
.
.
-(void)DownloadFile:(NSURL)url{
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadProgressDelegate:self];
[request setDidFailSelector:@selector(requestWentWrong:)];
[request setDidFinishSelector:@selector(requestFinished:)];
[request setDelegate:self];
[request startSynchronous];
}
- (void)setProgress:(float)progress{
NSLog(@"Current progress %f :",progress);
}
进展正常但我不知道从哪个URL或从哪个操作.. 我想知道如何单独获取每个URL的每个下载进度... 以及我如何取消每一个不取消所有操作。 感谢
答案 0 :(得分:2)
首先回答您的问题:如何为每次下载创建一个“委托”对象?然后很明显每次下载的下载进度如何,取消也很容易。但是代码会更复杂。
因此我有另一个建议:author of ASIHTTPRequest library has stopped developing the library,因此您可能切换到其他内容。他的建议是AFNetworking,但很多人现在推荐MKNetworkKit。它似乎有很好的队列处理。
答案 1 :(得分:0)
请注意委托消息的签名:每个消息都带有一个参数。该参数是向您发送消息的请求:请求在向您发送委托消息时,将其自身包含在参数中,以便您知道哪个请求已经到了那么远。