仅将对象添加到核心数据一次

时间:2012-07-17 07:17:48

标签: objective-c ios cocoa-touch ipad core-data

我想创建一个大型数据库。我正在考虑为此目的使用核心数据。但我想手动插入数据一次。此数据永远不会被删除或编辑,只能读取。如何使用核心数据将大量对象添加到数据库?如何在核心数据中创建数据库并只写一次。

1 个答案:

答案 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。如果您正在制作并且需要对商店进行相同的更改,则需要重新发布应用程序(因为商店位于主要包中)。为避免这种情况,您需要将存储移动到其他目录并设置,例如,一种同步机制。

希望有所帮助。