3

我在我的应用程序中使用 Core Data,并且只想导出一些数据并将其导入其他设备。

为避免迁移问题,我想执行以下操作:

出口:

  • 使用相同的数据库模型创建第二个 export.sqlite 文件,但为空
  • 使用 addPersistentStoreWithType 添加该文件
  • 将一些 ManagedObjects 复制到该 .sqlite
  • 删除添加的持久存储

导入: - 将 export.sqlite 文件复制到应用程序 - 使用 addPersistentStoreWithType 添加该 .sqlite 文件 - 复制数据 - 删除添加的 persistentStore

但如何实现呢?即我怎样才能告诉我的托管对象所以将自己复制到另一个商店?

4

1 回答 1

3

我怎么能告诉我的托管对象所以将自己复制到另一个商店?

你不能,反正不能直接。您必须执行以下操作:

  • 对于原始数据存储中的每个对象,
    • 在目标存储中创建具有相同实体类型的新对象
    • 将新对象的属性分配给与原始对象相同的值
  • 完成创建新对象后,进行第二次传递以设置任何关系。

关系需要单独完成,因为关系中的所有对象都需要存在才能创建关系。

于 2013-05-02T16:07:34.553 回答