Spo*_*ude 6 core-data ios magicalrecord
我试图使用MagicalRecord设置Core Data的轻量级迁移.我使用Google和SO查看了有关此主题的所有帖子.我理解persistentStoreCoordinator如何工作以及我想要做的设置也是如此.
这是我的代码:
AppDeligate.h
NSPersistentStoreCoordinator *persistentStoreCoordinator;
Run Code Online (Sandbox Code Playgroud)
AppDelegate.m
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"saori.sqlite"]];
// handle db upgrade
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
// Handle error
}
return persistentStoreCoordinator;
Run Code Online (Sandbox Code Playgroud)
}
我得到以下错误,我理解; 我不知道的是这些对象在哪里(我在我的应用程序中查找,并没有找到任何内容):
'AppDelegate'没有可见的@interface声明选择器'applicationDocumentsDirectory'和
'AppDelegate'没有可见的@interface声明选择器'managedObjectModel'
我已经创建了商店:

大多数,如果不是所有我看过的代码都是相似的; 我不知道MagicalRecord是否会为我处理这个问题,因为我找不到任何可以指示如何使用MR执行此操作的文档.我的问题是:我需要做些什么来完成这项工作?
Wai*_*ain 12
MagicalRecord的重点在于为您管理:
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:####];
Run Code Online (Sandbox Code Playgroud)
在此处查看有关Core Data堆栈设置的文档.
确保检查所有这些事情:
在AppDelegate.m文件中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
[MagicalRecord setupAutoMigratingCoreDataStack];
...
}
Run Code Online (Sandbox Code Playgroud)
如果您尚未对模型进行版本化:
小智 6
根据我对这个问题的理解,我建议你使用它
[MagicalRecord setupAutoMigratingCoreDataStack]
如果尚未更改模型版本,请将其更改为从旧模型创建的新模型
| 归档时间: |
|
| 查看次数: |
6511 次 |
| 最近记录: |