【发布时间】:2014-11-20 03:19:52
【问题描述】:
我有一个应用程序,它处理大量数据(基本上是图像),从我们的服务器下载,应该可以在没有互联网连接的情况下使用。
我以前将它们存储在<Application_Home>/Library/Caches 目录中,但是在iOS 更新过程之后它们都被删除了。这种行为对我来说是不可接受的,现在我正在寻找更好的地方来存储数据并确保它们不会被系统删除。
存储此类数据的最佳位置是什么?
【问题讨论】:
-
Documents文件夹呢?您没有在其中存储任何东西有什么特别的原因吗? -
是的,苹果说:“使用这个目录来存储关键的用户文档和应用程序数据文件。关键数据是你的应用程序无法重新创建的任何数据,例如用户生成的内容。”跨度>
-
您刚才引用了这里的观点:“关键数据是您的应用无法重新创建的任何数据”,您帖子的第一句话是关于“(.. .) 大量数据(基本上是图像),从我们的服务器下载 (...)",所以问题是,您的应用可以重新创建这些图像吗?。如果您的答案是no,那么您没有理由不能使用
Documents文件夹...如果您的答案是yes,您不需要将这些图像存储在任何地方,因为您的应用可以在运行时重新创建这些图像... -
答案是“是的,可以重新创建图像”,但主要目标之一是让这些数据在没有互联网连接的情况下可用,因为用户希望能够访问它而不是下载 300+ Mb每次或突然错过。
-
如果图像可以由应用在运行时重新创建而无需任何外部资源,则不需要存储它们,因为根据您的回答(即是) 应用程序可以随时重新创建它们。我只是想知道您是否正确理解了 Apple 的声明...无意冒犯,但您似乎可能误解了它——因为如果图像来自外部来源(即 您的服务器),则应用程序是无法(即无法)重新创建它们,因此您可以使用
Documents文件夹来存储它们。
标签: ios cocoa-touch nsdocumentdirectory