我有一个使用 MagicalRecord 的应用程序,并且我正在使用大量用于参考的数据预先填充数据库。在同一数据模型中,我拥有与用户在应用程序中可能执行的操作相关的用户可定义信息。
该应用程序被拒绝,因为预填充的数据应该被标记为“不备份”。因此,我希望将该数据保存在单独的数据存储中,以便我可以保持用户数据可备份。
有没有办法使用 MagicalRecord 拥有两个独立的数据存储?
I think it's possible, but not too easy though.
As you know, to work with more than one database, you should bring some changes to your PersistentStoreCoordinator
, so it will have two PersistentStores
. After this, you Core Data stack would look like this:
另一种方法是创建两个独立的 PersistentStoreCoordinators,每个都承载一个存储。
在魔法记录中,有几个类方法用于添加商店NSPersistentStoreCoordinator+MagicalRecord.h.
- (NSPersistentStore *) MR_addInMemoryStore;
- (NSPersistentStore *) MR_addAutoMigrationSqliteStoreNamed:(NSString *) storeFileName;
- (NSPersistentStore *) MR_addSqliteStoreNamed:(id)storeFileName withOptions:(__autoreleasing NSDictionary *)options;
我认为,这是一个你可以做你想做的事情的地方。
我还应该提到,设置堆栈的整个过程都在MagicalRecord+Setup.h
+ (void) setupCoreDataStackWithStoreNamed:(NSString *)storeName
因此您可以在那里添加您的商店和协调员。
我从来没有自己管理过它,这只是对可能的解决方案的简短调查。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)