多次下载文件而不锁定ios中的用户界面



我有一个数组,它包含不同的url和一组按钮,每个链接都分配给每个按钮。当点击某个按钮时,url中分配给该特定按钮的内容将被下载。用户可以同时点击多个按钮,以便可以同时执行多个下载。同时,用户应该能够浏览其他视图,这样下载过程就不会锁定UI。实现这一点的最佳和最简单的方法是什么?请分享你的想法。感谢

只需异步获取数据:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[NSURLConnection sendAsynchronousRequest:request 
                                   queue:[NSOperationQueue mainQueue] 
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                           // The code here is executed when the response from the request comes back.
                           // The variable "data" will contain the response from the data.
                           // So you can do something like:
                           UIImage *anImage = [[UIImage alloc] initWithData:data]];
                       }];

Luke,将AFNetworking或ASIHTTPRequest lib用于异步请求。

您可以轻松实现异步NSURLConnection

也就是说,每当用户点击该按钮时,你就会启动一个异步连接来完成肮脏的工作。

有很多例子——最容易理解的博客风格的例子之一是Matt Gallagher的《爱的可可》。这是一个链接。

该技术的要点是委托方法易于使用,并且您可以捕获在其中下载的每个文件。

不要被同步风格的连接所诱惑,因为它没有那么灵活,并且您将很难使用该技术为下载多个文件提供简单的解决方案。

最新更新