我正在使用基于 CoreData 的应用程序,并且有一个 AppDelegate 类,该类本质上是在启动应用程序时编写的。
单击按钮后,我将 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;
}