我想创建一个大型数据库。我正在考虑为此目的使用核心数据。但我想手动插入数据一次。此数据永远不会被删除或编辑,只能读取。如何使用核心数据将大量对象添加到数据库?如何在核心数据中创建数据库并只写一次。
答案 0 :(得分:0)
你的问题很普遍,但我会尝试给你一些提示。
根据我的经验,实现它的最简单方法,就是遵循以下两个步骤:
1)您可以创建XML,JSON或plist格式的外部文件,您可以解析并使用它来创建预先准备好的Core Data存储。您可以在core-data-tutorial-how-to-preloadimport-existing-data-updated中找到一些信息。特别是,您可以设置一个虚拟项目(或只使用AppDelegate
方法)并使用它来创建商店,例如MyDataStore.sqlite。
2)创建后,忘记以前使用的例程,然后将应用程序的应用程序包中的商店发送出去。那里的商店是只读的。否则,如果您需要修改它,则不允许您这样做,因此您需要将其移动到例如文档目录中。
您可以在以下SO主题中找到更多信息:
Is Core Data useful for readonly data too?
How can I ship my app with a pre-populated Core Data database?
Core Data Store included in App Bundle
P.S。如果您正在制作并且需要对商店进行相同的更改,则需要重新发布应用程序(因为商店位于主要包中)。为避免这种情况,您需要将存储移动到其他目录并设置,例如,一种同步机制。
希望有所帮助。