Corey Floyd
Corey Floyd

Reputation: 25969

iPhone Core Data Example produces exception

No longer under NDA.

There was an ommision in the iPhone Core Data example, but is now corrected. Also the sample code was always correct, they just left out some details in the tutorial.

(Please refer to iPhone Dev Forums for explanation)

I built an app twice and received the same error twice (but in 2 different places):

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'Event''

I read the apple docs:

It speaks to a problem with the model missing, or the context is nil, or the persistence store is not valid.

However as this is my first Core Data project, I'm a little weak in debugging. I can post code if needed.

Any help is much appreciated.

Upvotes: 4

Views: 13251

Answers (1)

Corey Floyd
Corey Floyd

Reputation: 25969

I found the answer. (If you would like a iPhone 3.0 sdk version of this answer, refer to the link at the bottom of the page) This what should be in the app delegate applicationDidFinishLaunching method should be like so:

(void)applicationDidFinishLaunching:(UIApplication *)application { 

    NSManagedObjectContext *context = [self managedObjectContext];
    if (!context) {
        // Handle the error.
    }

    RootViewController *rootViewController = [[RootViewController alloc] 
                                              initWithStyle:UITableViewStylePlain]; 

    rootViewController.managedObjectContext = context;

    UINavigationController *aNavigationController = [[UINavigationController 
                                                      alloc] initWithRootViewController:rootViewController]; 
    self.navigationController = aNavigationController; 
    [window addSubview:[navigationController view]]; 
    [window makeKeyAndVisible]; 
    [rootViewController release]; 
    [aNavigationController release]; 
} 

iPhone Dev Forums Link

Upvotes: 8

Related Questions