首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个异步NSURLConnection的iOs中的UIProgressView

具有多个异步NSURLConnection的iOs中的UIProgressView
EN

Stack Overflow用户
提问于 2012-03-28 13:06:26
回答 2查看 2.2K关注 0票数 1

我使用下面的代码异步地从url下载文件,

代码语言:javascript
复制
 NSMutableData *responseData = [[NSMutableData alloc] init];
        NSURL *url = [NSURL URLWithString:@"http://www.tuiscos.com/images/trading.png"];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [NSURLConnection sendAsynchronousRequest:request 
                                           queue:[NSOperationQueue mainQueue] 
                               completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                                   // do something with data
                                   [responseData appendData:data];
                                   myImage8.image = [UIImage imageWithData:data];
                                   NSInteger len = response.expectedContentLength;
                                   NSInteger receiverdBytes = 0;
                                   receiverdBytes = data.length+ receiverdBytes;
                                   float prog = (float)[responseData length]/(float)len;
                                   [progress8 setProgress:prog];
                               }];

随着下载的进行,我想更新进度条,但使用这段代码,我不会得到一个渐进的进展,相反,它是等待完成下载和跳转到最大值。我怎样才能逐步提高这个值呢?有人能提供一个示例代码吗?对于带有委托方法的异步方法.谢:)

EN

回答 2

Stack Overflow用户

发布于 2012-06-07 21:35:26

如果您不想自己编写所有代码,我建议在此任务中使用ASIHTTPRequesst:

http://allseeing-i.com/ASIHTTPRequest/How-to-use

它的实现非常简单,您可以同时进行异步下载。它还为所有需要提供代表,也为进度更新提供代表。

我在我的项目中使用了将近一年,从来没有后悔过。

票数 1
EN

Stack Overflow用户

发布于 2012-03-28 13:20:50

CompletionHandler当然是在完成时执行的。您必须为连接指定委托。使用-initWithRequest:delegate:方法。您必须编写NSURLConnectionDelegate方法的代码,需要设置progressView值的方法是-connection:didReceiveData:

以下是文档:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.pdf

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

https://stackoverflow.com/questions/9908157

复制
相关文章

相似问题

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