首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cocoa:使用ASIHttpRequest和ASINetwork下载

cocoa:使用ASIHttpRequest和ASINetwork下载
EN

Stack Overflow用户
提问于 2012-09-24 22:46:43
回答 1查看 151关注 0票数 0

我正在用cocoa实现一个下载管理器。用户可以添加多个下载请求,请求管理器将在面板中显示请求的进度。我遇到了队列中请求的暂停/恢复问题。

为了简单起见,假设最大并发操作计数为1,我按顺序添加了几个请求:1、2、3、4、5。如果没有中断,则按顺序从1到5下载请求。假设我暂停请求1,请求2应该继续下载。在此期间,我恢复了请求1。因此,在请求2完成之后,我希望请求1可以在请求3之前继续。

这里的问题是:对于我暂停的单个请求,该请求实际上已被取消。当我恢复请求时,一个新的请求被初始化,然后启动。在操作队列中,如果请求暂停,则发送[self cancel],以便启动下一个请求。但是,如果恢复了,我不知道该怎么办。已取消的请求不能再次添加到队列中。如果我创建了一个新的,并将其添加到队列中,我如何才能像以前一样保证优先级呢?

请给出如何做到这一点的提示。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-12 13:38:58

目前我自己做了一个解决方案,使用:

  1. 创建一个从ASIHttpRequest;
  2. make继承的自定义请求以包含所有请求;
  3. 如果添加了一个请求,则枚举数组以查看是否正在执行最多的请求。如果没有,则在其自己的队列中启动该请求。如果超过最大值,只需将请求添加到数组中,并将其状态设置为waiting;
  4. If一个请求正在完成或失败,通过使用状态waiting;

添加时间来枚举数组以查看位于第一个位置的请求

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

https://stackoverflow.com/questions/12567429

复制
相关文章

相似问题

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