我认为这是一个常见的问题,但我找不到很多解决方案或建议。
我的iPhone应用程序正在使用ASIHTTPRequest与Web服务进行交互。即使没有网络连接,我也需要应用程序保持正常运行。我正在尝试创建一个通用解决方案,在应用程序脱机时将请求排队。然后,一旦网络连接可用,请求就会被推送到队列中(可能是在应用程序仍在运行时,或者可能是在将来的某个时间点重新启动应用程序时)。
我一直在考虑几种不同的选择。不幸的是,ASIHTTPRequest没有实现NSCoding协议,所以没有一种很好的方法来保存磁盘上的对象。另一种选择是将每个请求对象的必需属性保存到SQLite数据库中,然后在网络连接可用时重新构建ASIHTTPRequest对象。这似乎是合理的,但“必需属性”可能因请求而异,我最终会寻找一种适用于所有类型请求的解决方案。
有没有人实现过这样的东西?
答案 0 :(得分:0)
第二个选项有意义..您可以创建标题和正文,就像传递给ASI发出请求一样但是将其写入sqllite db。如果那时你的应用程序有网络连接,只需用那些参数创建请求(标题,正文)..所以它不依赖于请求的类型..因为你已经准备好你的请求param而你的应用程序线程..