私は CoreData ベースのアプリケーションを使用しており、アプリケーションの起動時に本質的に記述された AppDelegate クラスを持っています。
ボタンをクリックすると、ArrayController(Section1) をサブクラスに渡し、それを解析して TableView セルの値を格納します。
- (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;
}