这个问题有事情做与我张贴在这里的问题是:Iphone Core Data crashing on Save 但错误是不同的,所以我想提出一个新问题。现在,我试图插入新对象到我managedObjectContext时出现此错误:iPhone核心数据内部不一致
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '"MailMessage" is not a subclass of NSManagedObject.'
但显然,它是:
@interface MailMessage : NSManagedObject { ....
当我运行此代码:
NSManagedObjectModel *managedObjectModel = [[self.managedObjectContext
persistentStoreCoordinator] managedObjectModel];
NSEntityDescription *entity =[[managedObjectModel entitiesByName]
objectForKey:@"MailMessage"];
NSManagedObject *newObject = [[NSManagedObject alloc] initWithEntity:entity
insertIntoManagedObjectContext:self.managedObjectContext];
它运行很好,当我不出示MFMailComposeViewController,但如果我运行这个代码中的
- (void)mailComposeController:(MFMailComposeViewController*)controller
didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
方法,它在创建newObject变量时引发上述错误。 当我使用的打印对象的实体对象产生如下:
(<NSEntityDescription: 0x1202e0>) name MailMessage, managedObjectClassName MailMessage,
renamingIdentifier MailMessage, isAbstract 0, superentity name (null), properties {
在这两种情况下
,所以我不认为managedObjectContext是完全无效的。我不知道为什么它会说MailMessage不是NSManagedObject的子类,而不是另一个。
任何帮助将不胜感激,在此先感谢。
我试过了:(还是同样的错误 – kiyoshi 2009-08-18 01:23:01