删除CoreData日记记录模式不迁移到新商店

时间:2014-07-15 15:40:15

标签: core-data ios7 magicalrecord

由于MagicalRecord 3.0尚未发布,我升级到2.3并尝试“关闭”日记模式。这是我的代码:

    //  Code to disable journaling mode
NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];

NSString *applicationDocumentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *urlString = [applicationDocumentsDirectory stringByAppendingPathComponent: @"saori.sqlite"];
NSURL *url = [NSURL fileURLWithPath:urlString];
NSDictionary *options = @{NSSQLitePragmasOption:@{@"journal_mode":@"DELETE"}};
NSPersistentStoreCoordinator *psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel];
[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil  URL:url options:options error:nil];

正在发生的事情是,它不仅不会关闭日记模式,还会创建一个全新的(读取)CoreData存储 日记功能。

我有什么办法可以在MR 3.0之外做,所以日记商店的内容会迁移到新的CoreData商店而不需要日记功能吗?

1 个答案:

答案 0 :(得分:1)

MagicalRecord 3.0不会改变这是否有效。这是CoreData功能。 MR 3.0将为您提供一种指定添加特定商店的选项的方法,因此代码更少。但是,Journalling或WAL模式是一个问题,这是CoreData本身如何工作的基础。在这种情况下,搬到MR3可能不会帮助你。