我在任何地方都找不到这个问题的答案,但这似乎是一个典型的问题:
我想发送一些POST请求(使用ASIHTTPRequest,我已经做过),但如果出现问题,用户可以决定“稍后尝试”,这意味着,任务应该放在队列中应在下次应用程序启动时读取此队列。所以,这是我的问题:如何“保存”队列,以便应用程序可以在下次启动时读取它?是否可以“读取”队列并尝试再次发送此POST-Request,比如10分钟后,即使应用程序没有运行?
为了能够做到这一点,我应该阅读什么样的文档?
我很高兴听到任何答案。提前谢谢。
PS:我的另一个想法:因为我只需要上传照片,我可以有一个文件夹,其中包含所有仍需要上传的照片,当应用程序启动时,应用程序会查看此文件夹并尝试发送此文件夹中的所有照片。它有意义吗?答案 0 :(得分:2)
我假设你已经看过NSOperationQueue
和NSOperation
了。 AFAIK没有内置的序列化NSOperation
支持,但您可以非常轻松地为NSOperation
子类编写自己的序列化机制,用于发布数据并编写NSOperationQueue
'如果出现问题,请将operations
发送到磁盘。
在不了解太多细节的情况下,很难给出准确的答案。有很多方法可以将数据写入磁盘并在以后再次加载,您所采用的方向在很大程度上取决于您的情况。
答案 1 :(得分:2)
我对此问题的处理方式如下: