首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASIHttpRequest NetworkQueue问题

ASIHttpRequest NetworkQueue问题
EN

Stack Overflow用户
提问于 2009-11-01 19:16:27
回答 2查看 1.9K关注 0票数 0

我想使用ASIHttprequest库来下载一些文件,我正在用它们的代码进行测试,当相同的代码在它们的示例上工作时,它就不能工作了。

这是我的代码来调用他们的视图

QueueViewController *queueViewController = [QueueViewController alloc initWithNibName:@"Queue“bundle:nil];self.view addSubview:queueViewController.view;

这是发出请求的代码。

代码语言:javascript
复制
- (IBAction)fetchThreeImages:(id)sender
{
    [imageView1 setImage:nil];
    [imageView2 setImage:nil];
    [imageView3 setImage:nil];

    [networkQueue cancelAllOperations];
    [networkQueue setDownloadProgressDelegate:progressIndicator];
    [networkQueue setRequestDidFinishSelector:@selector(imageFetchComplete:)];
    [networkQueue setShowAccurateProgress:[accurateProgress isOn]];
    [networkQueue setDelegate:self];

    ASIHTTPRequest *request;
    request = [[[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:@"http://allseeing-i.com/i/logo.png"]] autorelease];
    [networkQueue addOperation:request];

    request = [[[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:@"http://allseeing-i.com/i/trailsnetwork.png"]] autorelease];
    [networkQueue addOperation:request];

    request = [[[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:@"http://allseeing-i.com/i/sharedspace20.png"]] autorelease];
    [networkQueue addOperation:request];

    [networkQueue go];

}


- (void)imageFetchComplete:(ASIHTTPRequest *)request
{
    UIImage *img = [UIImage imageWithData:[request responseData]];
    if (img) {
        if ([imageView1 image]) {
            if ([imageView2 image]) {
                [imageView3 setImage:img];
            } else {
                [imageView2 setImage:img];
            }
        } else {
            [imageView1 setImage:img];
        }
    }
}

看起来队列正在正确地设置,但是下载完成后不会调用imageFetchComplete方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-02 17:35:28

我把问题解决了,问题是我没有分配到networkQueue。

我被分配的networkQueue在从早上开始,它没有被调用。因此,我在按钮单击方法中分配networkQueue。fixEd的问题。

票数 1
EN

Stack Overflow用户

发布于 2009-11-02 07:36:52

尝试在您的ASINetworkQueue实例上设置ASINetworkQueue,并在每个ASIHTTPRequest实例上设置didFinishSelectordidFailSelector。从委托中的每个回调方法中调用NSLog(),查看发生了什么。

注意,通过在您的showAccurateProgress上启用ASINetworkQueue,将为队列处理的每个请求执行额外的HEAD请求。在移动环境中,这有时可能不太理想。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1658042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档