0

我开始开发一个应用程序,该应用程序将在很多地方包含每次用户要求查看它们时我将从我的服务器下载的数据。然后,当用户在没有任何互联网连接的情况下再次打开应用程序时,应用程序应该让他查看之前下载的任何内容,只需从缓存中加载即可。这样做的重点是内容会不时更改,如果无法连接到服务器,用户需要能够看到最后下载的版本。

问题是,我可以将缓存设置为磁盘上的某个大小,但无论大小如何,我都必须存储所有内容。我想我必须设置缓存磁盘大小以在空间不足时使其更大。有什么好方法可以做到这一点?

PS不确定这是否相关,但我正在考虑为这个项目尝试AFNetworking(以前我使用过ASIHTTPRequest)。

4

2 回答 2

3

如果您将NSURLCache其用作磁盘缓存,则可以使用currentDiskUsage. 如果这即将来临diskCapacity,您可以使用setDiskCapacity. 您应该在尝试写入缓存之前执行此检查。

于 2013-10-16T10:54:10.570 回答
1

我从事过相同类型的项目,我使用过 AFNetworking,据我说,将数据存储在本地数据库中是更好的选择,然后将其缓存......并且在用户启动应用程序时只有一个服务调用,它只检查数据库版本. 如果它的旧版本替换数据库并通过显示旧版本来处理网络失败的情况。

于 2013-10-16T10:50:21.110 回答