我的应用程序应该在iOS上存储大量的PDF文件?

我正在编写一个iOS iPad应用程序,它将从网上下载数百个大型PDF文件,并将它们caching在iPad上供离线使用。

在iPad上存储它们的最佳位置在哪里? 本地文件系统,核心数据还是其他地方? 我打算使用核心数据build立索引和search机制(使用缩略图等),并且只有在用户明确要求完整文档时才会访问PDF文档。

最好的地方是Documents目录或Cache目录。 文档目录中的文档应该是用户生成的内容,所以我相信这不是你想要的。

相反,我认为你应该使用Cache目录,你可以使用这个方法访问它:

- (NSString *)cacheDirectory { { NSArray *pathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *path = [pathList objectAtIndex:0]; return path; } 

请注意,如果设备上没有足够的空间,则系统可能会清空Cache目录。 根据我的经验,这几乎从来没有发生过,但是如果你想完全绝对地确信这些文件永远不会被删除,那么你可能希望将你的文档存储在Cache之外的目录的子目录中。

在这种情况下,您必须在目录和文件上设置do not backup标志,否则您的应用程序被拒绝。

有关官方信息,请参阅Apple指南 (需要开发者帐户)。

您应该将它们保存在/ documents文件夹中。 该文件夹的purpouse正是这样,存储数据不能redownloaded(或将是太大,这样做)。 如果是临时数据或数据,您可以轻松重新下载,Applebuild议使用/ cache文件夹。

您可以使用特定名称保存文件,只需在CoreData中保存该名称即可find它们。

我将保存在文件夹下的PDF文件。 并创build一个核心数据的SQLite数据库。 创build一个可能具有三个属性的核心数据实体:thumbNail,localURL和title。