views:

6968

answers:

2

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.

+6  A: 

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

Corey Floyd
+2  A: 

The iPhone OS 3.0 SDK is prerelease software and is under NDA.

We are not allowed to discuss it in public sites such as Stack Overflow.

Marco