我有应用程序,它运行大量数据(基本上是图像),从我们的服务器下载,应该没有互联网连接。
我曾经将它们存储在<Application_Home>/Library/Caches
目录中,但在iOS更新过程之后,所有这些都被删除了。这种行为对我来说是不可接受的,现在我正在寻找更好的地方,我可以存储数据,并确保它们不会被系统删除。
存储此类数据的最佳位置是什么?
答案 0 :(得分:3)
caches目录就是名称所暗示的缓存。缓存可以清空,你应该重新下载图像。文档目录是存储这些图像的更好位置,但您应该在文件上存储skip iCould backup key。
只需一个小提示,请始终使用URLForDirectory:inDomain:appropriateForURL:create:error:
或NSSearchPathForDirectoriesInDomains
答案 1 :(得分:1)
iOS中不会删除文档目录中的数据:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
文档中的数据与iCloud同步。如果您有很多这些选项,则需要禁用此选项:
[urlOfImage setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error];