• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: could not locate an NSManagedObjectModel
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: could not locate an NSManagedObjectModel


  • Subject: Re: could not locate an NSManagedObjectModel
  • From: Andreas Grosam <email@hidden>
  • Date: Mon, 21 Feb 2011 09:49:14 +0100

On Feb 20, 2011, at 10:23 PM, Shane wrote:
...

Shane,
you usually need these initial steps for virtually any Core Data application:
(please refer to corresponding documentation for each CoreData class and method mentioned!)

@interface SomeDelegateOrControllerOrElse (CoreDataAdditions) {
    NSManagedObjectContext*         managedObjectContext_;
    NSManagedObjectModel*           managedObjectModel_;
    NSPersistentStoreCoordinator*   persistentStoreCoordinator_;
}

@property (nonatomic, retain, readonly) NSURL* storeURL;
@property (nonatomic, retain, readonly) NSManagedObjectContext* managedObjectContext;
@property (nonatomic, retain, readonly) NSManagedObjectModel* managedObjectModel;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator* persistentStoreCoordinator;

@end


@implementation  SomeDelegateOrControllerOrElse (CoreDataAdditions)

// property storeURL
- (NSURL*) storeURL {
    // ...
    return aURL;  // return a URL where you want to have your persistent store saved.
}

- (NSManagedObjectContext*) managedObjectContext  {
    if (managedObjectContext_ == nil) {
        NSPersistentStoreCoordinator* coordinator = [self persistentStoreCoordinator];
        if (coordinator != nil) {
            managedObjectContext_ = [[NSManagedObjectContext alloc] init];
            [managedObjectContext_ setPersistentStoreCoordinator:coordinator];
        }
    }
    return managedObjectContext_;
}

- (NSManagedObjectModel*) managedObjectModel  {
    if (managedObjectModel_ == nil) {
        NSURL* modelURL = [[NSBundle mainBundle] URLForResource:@"MyModel" withExtension:@"momd"];
        managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
    }
    return managedObjectModel_;
}

- (NSPersistentStoreCoordinator* )persistentStoreCoordinator  {
    if (persistentStoreCoordinator_ == nil) {
        NSError* error = nil;
        persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
        if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType
                                                       configuration:nil
                                                                 URL:self.storeURL
                                                             options:nil
                                                               error:&error])
        {
            // Replace this implementation with code to handle the error appropriately.
            NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
            abort();
        }
    }
    return persistentStoreCoordinator_;
}

...
@end

As others already suggested, please read the corresponding documentation.

especially:
the "Core Data Programming Guide"
and <http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataUtilityTutorial/CoreDataUtilityTutorial.pdf>
This sample shows the very basics, without any additional fuzz.

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >could not locate an NSManagedObjectModel (From: Shane <email@hidden>)

  • Prev by Date: Re: How can I make a window just like the Anxiety App?
  • Next by Date: Re: How can I make a window just like the Anxiety App?
  • Previous by thread: Re: could not locate an NSManagedObjectModel
  • Next by thread: How can I make a window just like the Anxiety App?
  • Index(es):
    • Date
    • Thread