我想创建一个大型数据库。我正在考虑为此目的使用核心数据。但我想手动将数据插入其中一次。这些数据永远不会被删除或编辑,而只会被读取。我如何使用核心数据将如此大量的对象添加到数据库中?如何在核心数据中创建数据库并且只写入一次。
问问题
336 次
1 回答
0
你的问题很笼统,但我会尽量给你一些提示。
根据我的经验,实现它的最简单方法是遵循以下两个步骤:
1) 您可以创建一个 XML、JSON 或 plist 格式的外部文件,您可以解析并使用它来创建一个预置的 Core Data 存储。您可以在core-data-tutorial-how-to-preloadimport-existing-data-updated中找到一些信息。特别是,您可以设置一个虚拟项目(或仅使用AppDelegate
方法)并使用它来创建存储,例如 MyDataStore.sqlite。
2) 创建后,忘记您之前使用过的例程,然后将商店发送到应用程序的应用程序包中。那里的商店是只读的。否则,如果你需要修改它,你是不允许这样做的,所以你需要将它移动到例如文档目录中。
您可以在以下 SO 主题中找到更多信息:
如何使用预填充的 Core Data 数据库发布我的应用程序?
App Bundle 中包含的 Core Data Store
PS 如果您在生产中并且需要对商店进行相同的更改,则需要重新发布应用程序(因为商店在主捆绑包中)。为了避免这种情况,您需要将存储移动到不同的目录并设置例如某种同步机制。
希望有帮助。
于 2012-07-17T10:41:45.623 回答