2012-02-14 110 views
1

我正在开发一个应用程序,它允许用户管理(CRUD)存储在服务器上的内容。我镜像本地存储(Core Data)中的一些数据。iOS:排队HTTP呼叫

当用户删除或更新文件时,我将其在本地数据库中删除并向服务器发送HTTP请求。我不想并行发送多个请求,我想实现一个离线模式。我正在考虑存储请求并执行它们的某种队列,无论何时设备连接到互联网。如果请求失败,那么在处理队列中的下一个请求之前,工作人员应该再次尝试。

达到此目的的常见做法是什么?有没有这个功能的框架?

回答

3

ASIHTTPRequest也有使用NSOperationQueue和自己的队列版本的例子:

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

这将让你排队请求和处理它们不会阻塞你的应用程序流。

要处理脱机模式,您可能需要将它们发送到数据库中的“队列”中,当您有连接时(或者当用户同步时)将它们拉出并添加到您的NSOperationQueueNSOperationQueue允许您暂停计划(并重新启用计划),但我不确定它是否可以充当持续存储的排队操作。

+0

>请注意,我不再为此图书馆工作 - 您可能要考虑使用其他方式来处理新项目。 :) – pencil 2012-02-14 20:52:08

+0

适合我们使用它的应用程序,但已经忘记了!我会留下这里的参考,因为我仍然认为这是值得的例子(希望) – Rob 2012-02-14 21:02:00