我正在编写一个iOS iPad应用程序,将从网络下载数百个大的iOS文件,并将它们缓存在iPad上供脱机使用。
在iPad上存储它们的最佳位置是什么?本地文件系统、核心数据或其他位置?我计划使用核心数据的索引和搜索机制(使用缩略图等),并将只访问PDF文件时,用户特别要求完整的文件。
发布于 2012-10-06 02:17:11
最好的位置是Documents目录或Cache目录。文档目录中的文档应该是用户生成的内容,所以我相信这不是您要查找的内容。
相反,我认为您应该使用Cache目录,您可以使用以下方法访问该目录:
- (NSString *)cacheDirectory {
{
NSArray *pathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *path = [pathList objectAtIndex:0];
return path;
}请注意,如果设备上没有足够的空间,系统可能会清空缓存目录。根据我的经验,这种情况几乎不会发生,但如果你想绝对、绝对地确定文件永远不会被删除,你可能希望将你的文档存储在Library目录的子目录中,而不是Cache中。
在这种情况下,你必须在目录和文件上都设置do not backup标志,否则你的应用程序将被拒绝。
有关官方信息,请参阅the Apple guidelines (需要developper帐户)。
发布于 2012-10-06 02:14:01
您应该将它们保存在/documents文件夹中。该文件夹的用途就是存储无法重新下载的数据(或者太大而无法重新下载)。如果是临时数据或你可以轻松重新下载的数据,苹果建议改用/cache文件夹。
您可以使用特定的名称保存这些文件,只需将该名称保存在CoreData中即可找到它们。
发布于 2012-10-06 02:20:15
我会将PDF保存在Documents文件夹下。并创建一个核心数据sqlite数据库。创建一个可能具有以下三个属性的核心数据实体: thumbNail、localURL和title。
https://stackoverflow.com/questions/12751609
复制相似问题