如何将数据从内存数据库迁移到Core Data中的NSSQLiteStoreType数据库?

时间:2014-06-16 23:26:00

标签: macos cocoa core-data

在我的OSX应用程序中,我有两个DB实例:一个使用NSSQLiteStoreType,另一个使用NSInMemoryStoreType。数据模型完全相同。

当应用程序运行时,它使用内存数据库实例来保存数据。在我使用我的应用程序之后,我想将收集的所有数据存储到NSSQLiteStoreType实例中。

我对这种类型的数据迁移很陌生。

有没有人对我如何做有任何建议或提示?!

非常感谢任何形式的帮助!

1 个答案:

答案 0 :(得分:1)

要从一种商店类型迁移到另一种商店类型,您需要在-migratePersistentStore: toURL: options: withType: error:上使用NSPersistentStoreCoordinator。这将创建新商店。

然而,我很困惑你为什么要这样做。如果您正在寻找最佳性能,那么您可能只想从头开始使用二进制存储。这会将所有内容加载到内存中,并在保存时将所有内容写入磁盘。无需迁移。

内存存储区用于临时数据,从内存存储区迁移是相当CPU密集型的。