我正在使用基于CoreData的应用程序,并且有一个AppDelegate类,它本身就是在启动应用程序时编写的。CoreData持久性存储区出错
当按钮单击时,我传递一个ArrayController(Section1)到一个子类并解析它以便存储TableView Cell值。
- (IBAction)saveSect1:(NSButton *)sender {
DataMiner *data = [[DataMiner alloc] init];
[data parseArrayController:Section1 tag:0];
}
-(void)parseArrayController:(NSArrayController *)myController tag:(NSInteger)arrayTag {
switch (arrayTag) {
case 0:
context = appDelegate().self.managedObjectContext;
for (NSMutableDictionary *mydict in myController.arrangedObjects) {
NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
NSNumber *code = [format numberFromString:[mydict objectForKey:@"diagCode"]];
[format release];
Section_1 *section = nil;
section = [NSEntityDescription insertNewObjectForEntityForName:@"Section_1" inManagedObjectContext:context];
section.diagCode = code;
section.diagDescr = [mydict objectForKey:@"diagDescr"];
section.sectId = [NSNumber numberWithDouble:1];
section.subSectId = [NSNumber numberWithDouble:1.1];
}
NSLog(@"%@", context.registeredObjects);
[Section_1 release];
break;
default:
break;
}
} 最初,它运行得很好,不过,现在我收到此错误:
用来打开持久性存储管理对象模型的版本是与用于创建持久性的一个不兼容商店。
有没有人遇到过这个错误?有什么建议么?谢谢。
- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel) {
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"CoreData_test" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}
这是Google上第一次出现该错误的点击,我认为这很好解释。 http://stackoverflow.com/questions/5572954/error-after-adding-a-new-core-data-model-version – 2012-07-13 21:03:57