0

我有一个使用 ASIFormDataRequest 向远程网站提交数据的应用程序。我想让用户存储它们以供以后在离线时上传(例如:iPod touch 或超出手机覆盖范围等)。ASINetworkQueue 是合适的工具吗?我想我会将请求存储在属于应用程序委托的队列中,并且每当添加新提交或启动应用程序时,都会测试可访问性,如果良好,将完成队列中的每个请求。

这个逻辑正确吗?(我知道在应用程序启动时立即检查可达性是不好的做法,但我会调整它到一个好时机。)

如果是这样,我的下一个问题是,如何让 ASINetworkQueue 在冷启动和后台启动之间持续存在?我想这将涉及将其写入 NSData 并将其写入 NSUserDefaults 甚至文件。

谢谢你的帮助!

4

1 回答 1

1

如果您要异步上传数据但要处理离线使用,我建议将数据写入本地数据库或文件,然后为状态设置某种“上传时间”时间戳。当您的应用程序启动时,您可以在本地数据库中查询任何尚未上传的对象。我不知道您的应用在做什么,但您可能会发现这种方法不太容易出错,并且更适合通过 UI 向用户提供适当的反馈。

于 2012-01-22T02:12:59.650 回答