【问题标题】:How do I do initial data configuration setup with CoreData?如何使用 CoreData 进行初始数据配置设置?
【发布时间】:2011-04-14 02:48:52
【问题描述】:

我有一个使用 CoreData 作为数据存储机制的应用程序,该应用程序需要配置一些初始数据。是否有任何建议/您正在做什么/如何设置初始数据?

目前我正在通过以下方式进行操作(当应用程序第一次启动时):

SomeEntity *newEntity=[NSEntityDescription insertNewObjectForEntityForName:@"SomeEntity" inManagedObjectContext:context];
[newEntity setCode:@"a-code"];
[newEntity setName:@"a-name"];
...
[context save:nil];

我不喜欢这种方法有两个原因:
1) 如果您需要超过 10 个实体实例来处理一种以上的实体类型,这将非常无聊且容易出错
2) 初始启动可能需要一些时间

在以前使用 SQLite 的应用程序中,我只是将我的初始 SQLite 数据库链接到应用程序,如果需要修改任何数据,将数据库移动到 Documents 目录。 CoreData 有没有类似的方法?

【问题讨论】:

    标签: iphone core-data


    【解决方案1】:

    这正是您对 Core Data 所做的事情。使用您的应用程序以您想要的方式创建数据,然后从设备下载数据。您将在 Documents 目录(这是默认位置)中找到一个 SQLite 文件。将 SQLite 文件作为资源添加到您的项目中。它将与您的应用一起复制。

    然后,您需要做的就是编写一些代码来确定启动时 Documents 目录中是否已经存在文件。如果没有,您可以将文件从应用程序包复制到 Documents 目录,Core Data 将打开它。您只想确保在设置 NSPersistentStoreCoordinator 之前执行此操作。

    【讨论】:

      猜你喜欢
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 2010-09-10
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      相关资源
      最近更新 更多