Core Data が iOS 用にリリースされてから使用していますが、エンティティの 1 つに対する insertNewObjectForEntityForName メソッドの呼び出しで何が起こっているのか理解できません。メソッドが呼び出されると、単にnilオブジェクトを返し、例外をスローしません。
コードは次のとおりです。
@try {
self.observation = [NSEntityDescription insertNewObjectForEntityForName:@"Observation" inManagedObjectContext:moc];
NSLog(@"No exception on insert");
}
@catch (NSException *exception) {
NSLog(@"Insert exception - %@", exception.description);
}
NSLog(@"observation: %@", self.observation ? self.observation.description : @"nil");
出力は次のとおりです。
2012-10-19 10:16:08.749 Track[63779:c07] No exception on insert
2012-10-19 10:16:08.750 Track[63779:c07] observation: nil
ERD 内の他のすべてのエンティティに対して挿入を実行できます。私をからかっているのはこの人だけです(しゃれが意図されています)。