使用 NSURLConnection 在队列中异步下载

发布于 2024-12-22 19:22:15 字数 168 浏览 0 评论 0原文

我有一个用户可以下载文档的应用程序。用户可以选择下载多个文档。多次下载应按顺序一个接一个地进行(一旦一个文档下载完成,另一个文档将自动开始)。

目前我正在使用 NSURLConnection 异步下载数据(一次单个文档)。

我该如何使用 NSOperation Queue 来实现这一目标?

I have an application where user can download documents. User has option to download multiple documents. Multiple download shall happen one after the other in a sequence (once a document is finished downloading the other shall start automatically).

Currently I'm using NSURLConnection for Asynchronously downloading data (Single Document at a time).

How do i go about achieving this possibly using NSOperation Queue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花期渐远 2024-12-29 19:22:15

与其排队 NSOperations 为什么不存储下载“项目”的 NSArray(例如您要下载的 URL),那么当您的一个 NSURLConnections 完成下载时,您可以检查该数组,如果其中有任何内容,您就可以开始下载新的 NSURLConnection,然后删除刚刚下载的项目。

这样,如果您在每次下载之间将下载项目数组存储在磁盘上,那么如果您的应用程序崩溃或终止,它可以从中断处启动。

Rather than queuing up NSOperations why not store an NSArray of download 'items' (e.g. the URL you want to download), then when one of your NSURLConnections finishes downloading you can check the array, and if there is anything in it you can kick off a new NSURLConnection download, then remove the item you just downloaded.

That way, if you store the download items array on disk in between each download, if your app crashes or is terminated, it can start up where it left off.

楠木可依 2024-12-29 19:22:15

创建 NSOperation 对象并将其添加到 NSOperationQueue 中。按照

链接创建 NSOperation 和 NSOperationQueue 。

然后使用 NSOperationQueue 方法将最大并发操作设置为 1

setMaxConcurrentOperationCount 

Create NSOperation object and add it to NSOperationQueue. follow this

link to crate NSOperation and NSOperationQueue.

Then set maximum concurrency operation to one using NSOperationQueue method

setMaxConcurrentOperationCount 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文