【发布时间】:2013-10-21 17:15:31
【问题描述】:
首先,我使用 MagicalRecord 来管理我的核心数据。所以现在我的数据库层工作得很好,每次发生更改时它都会保存更改。例如:我正在向表中添加一个新条目,它会立即写入存储在我的硬盘上的 db 文件。我想要实现的是将所有更改保留在内存中,并且仅在单击“保存”命令时将它们写入 db 文件。
我认为执行 db 文件写入的调用是:
[managedObjectContext MR_saveToPersistentStoreAndWait];
所以我想,我可以在不调用该方法的情况下进行所有修改,然后单击“保存”,调用该方法。但是,它仅在线程未更改时才有效。每次,线程更改 ManagedObjectContext 都会被重置或重新创建,我会丢失所有数据。
编辑:刚刚在 Magical Record 中找到方法:
[NSPersistentStoreCoordinator MR_coordinatorWithInMemoryStore];
这是我问题的第一部分所需要的。虽然,我不知道如何从那种类型的协调器更改为
[NSPersistentStoreCoordinator MR_coordinatorWithSqliteStoreNamed:objectModelName];
不会丢失任何数据。
有人知道怎么做吗?!非常感谢任何形式的帮助!
【问题讨论】:
-
那个帖子和我在这里做的有点不同......他们一直使用相同的上下文,但我需要有多个上下文。
标签: objective-c macos core-data magicalrecord