1

我正在使用 ASINetworkQueue 上传文件。我在 ASINetworkQueue 中添加了两个 ASIFormDataRequest。我在创建队列时添加了此代码

 [networkQueue setRequestDidFinishSelector:@selector(uploadFilesCompleted:)];

我面临两个问题

**1.Completion 块调用了两次。即每次完成 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**

任何帮助将是明显的?

4

1 回答 1

0

你必须使用

[networkQueue setQueueDidFinishSelector:@selector(queueDidFinish:)];

仅当整个队列完成时才调用该选择器:

- (void)queueDidFinish:(ASINetworkQueue *)queue {
    NSLog(@"uploadFilesCompleted '%@'",networkQ);
}

每次来自队列的单个请求完成时都会调用您使用的选择器,并且传递给这些选择器的参数是请求对象而不是队列对象。

于 2014-01-24T08:32:08.340 回答