【问题标题】:Add objects to core data only once仅将对象添加到核心数据一次
【发布时间】:2012-07-17 07:17:48
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    你的问题很笼统,但我会尽量给你一些提示。

    根据我的经验,最简单的实现方法是按照以下两个步骤进行:

    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

    附:如果您在生产中并且需要对商店进行相同的更改,则需要重新发布应用程序(因为商店在主捆绑包中)。为避免这种情况,您需要将存储移动到不同的目录并设置例如某种同步机制。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多