由于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商店而不需要日记功能吗?
答案 0 :(得分:1)
MagicalRecord 3.0不会改变这是否有效。这是CoreData功能。 MR 3.0将为您提供一种指定添加特定商店的选项的方法,因此代码更少。但是,Journalling或WAL模式是一个问题,这是CoreData本身如何工作的基础。在这种情况下,搬到MR3可能不会帮助你。