Iphone Core Data Internal Inconsistency

Posted by kiyoshi on Stack Overflow See other posts from Stack Overflow or by kiyoshi
Published on 2009-08-14T05:40:52Z Indexed on 2010/12/29 22:54 UTC
Read the original article Hit count: 195

Filed under:
|

This question has something to do with the question I posted here: http://stackoverflow.com/questions/1230858/iphone-core-data-crashing-on-save however the error is different so I am making a new question. Now I get this error when trying to insert new objects into my managedObjectContext:

 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
 reason: '"MailMessage" is not a subclass of NSManagedObject.'

But clearly it is:

@interface MailMessage : NSManagedObject { ....

And when I run this code:

 NSManagedObjectModel *managedObjectModel = [[self.managedObjectContext
    persistentStoreCoordinator] managedObjectModel];

 NSEntityDescription *entity =[[managedObjectModel entitiesByName] 
    objectForKey:@"MailMessage"];

 NSManagedObject *newObject = [[NSManagedObject alloc] initWithEntity:entity 
    insertIntoManagedObjectContext:self.managedObjectContext];

It runs fine when I do not present an MFMailComposeViewController, but if I run this code in the

- (void)mailComposeController:(MFMailComposeViewController*)controller 
  didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {

method, it throws the above error when creating the newObject variable. The entity object when I use print object produces the following:

(<NSEntityDescription: 0x1202e0>) name MailMessage, managedObjectClassName MailMessage, 
   renamingIdentifier MailMessage, isAbstract 0, superentity name (null), properties {

in both cases, so I don't think the managedObjectContext is completely invalid. I have no idea why it would say MailMessage is not a subclass of NSManagedObject at that point, and not at the other.

Any help would be appreciated, thanks in advance.

© Stack Overflow or respective owner

Related posts about iphone

Related posts about core-data