我正在使用ASINetworkQueue上传文件。我在ASINetworkQueue中添加了两个ASIFormDataRequest。我在创建队列时添加了此代码
[networkQueue setRequestDidFinishSelector:@selector(uploadFilesCompleted:)];
我面临两个问题
** 1.完成块调用两次。每次完成ASIFormDataRequest,它都会调用。我希望它只调用一次,即。完成2个请求后
2.完成时间
- (void)uploadFilesCompleted:(ASINetworkQueue *)networkQ
{
NSLog(@"uploadFilesCompleted '%@'",networkQ);
}
***2014-01-20 10:17:52.813 MyProject[39671:a0b] uploadFilesCompleted '<ASIFormDataRequest: 0xcba5400>'
2014-01-20 10:17:53.672 MyProject[39671:a0b] uploadFilesCompleted '<ASIFormDataRequest: 0xcba4000>'***
而不是ASINetworkQueue **
任何帮助都会很明显吗?
答案 0 :(得分:0)
你必须使用
[networkQueue setQueueDidFinishSelector:@selector(queueDidFinish:)];
只有在整个队列完成后才会调用该选择器:
- (void)queueDidFinish:(ASINetworkQueue *)queue {
NSLog(@"uploadFilesCompleted '%@'",networkQ);
}
每次队列中的一个请求完成后,就会调用您使用的选择器,并且传递给那些选择器的参数是请求对象而不是队列对象。