【问题标题】:Issue with ASINetworkQueue?ASINetworkQueue 有问题吗?
【发布时间】:2014-01-24 04:51:44
【问题描述】:

我正在使用 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**

任何帮助将是可观的?

【问题讨论】:

  • ASI 网络便利类套件于 2011 年 9 月停止了积极开发 (allseeing-i.com/[request_release];)。用 iOS 术语来说,这是一个时代。你最好转向更现代的东西,比如 AFNetworking。

标签: ios xcode asihttprequest asinetworkqueue


【解决方案1】:

你必须使用

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

只有在整个队列完成后才会调用该选择器:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 2012-03-03
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多