【发布时间】:2013-11-30 10:42:24
【问题描述】:
我的应用程序从网络下载图像,显然出于性能原因,我需要将其缓存在我的设备上。所以我的问题是:存储照片的最佳地点在哪里?
我看到很多人使用NSDocumentDirectory 但苹果说:
关键数据应存储在 /Documents 目录。关键数据是您无法重新创建的任何数据 应用程序,例如用户文档和其他用户生成的内容。
所以我认为该图像不在此类别中。苹果也说:
支持文件包括您的应用程序下载或生成的文件,您的应用程序可以根据需要重新创建这些文件。存储应用程序支持文件的位置取决于当前的 iOS 版本。
所以也许NSApplicationSupportDirectory 是存放它的最佳位置。
但我也看到了NSDownloadsDirectory 和NSPicturesDirectory。缓存目录对我不利,因为它在应用更新后被删除。
所有这些东西让我很困惑。什么是正确的地方,为什么?
【问题讨论】:
-
您是否设法创建了目录?我正在尝试创建 NSDownloadsDirectory,但因 Cocoa 错误 513 而失败,这意味着我无法在该路径中创建文件。 :-/
-
其实我认为 NSDownloadsDirectory 目录已经存在,所以你不需要创建它。但是如果你想在 NSDownloadsDirectory 中创建一个目录,我认为你可以这样做,我实际上使用这个简单的代码将数据写入目录:' NSString *basePath = [self directoryUrlWithObjectId:objectId]; NSError *错误; [照片 writeToFile:basePath 选项:0 错误:&error];'在 directoryUrlWithObjectId 中,我只需获取目录的路径
标签: ios objective-c ios7 nsfilemanager