n core data, I create the model and then generate an NSManagedObjectContext subclass but my entity table never gets created in the SQLlite database. Do I have to do this by hand?
My app crashes on the main thread on this line:
// Save the data in core data
UsersTest *coreDataUser =[NSEntityDescription insertNewObjectForEntityForName:@"UsersTest" inManagedObjectContext:self.managedObjectContext];
The UsersTest entity was create in XCode and I add the UsersTest.h to my controller.
What gives? Is this a bug? And I assert on the context that we are in the main thread too.
I get this exception:
NSException * name:@"NSInternalInconsistencyException" reason:@"+entityForName: could not locate an entity named 'UsersTest' in this model." 0x0895ee20
Do I have to open the database or anything (followed this link: http://www.codigator.com/tutorials/ios-core-data-tutorial-with-example/)
Thanks, and really stuck.
My appDelegate.m is like this:
// 1
- (NSManagedObjectContext *) managedObjectContext {
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
_managedObjectContext = [[NSManagedObjectContext alloc] init];
[_managedObjectContext setPersistentStoreCoordinator: coordinator];
}
return _managedObjectContext;
}
//2
- (NSManagedObjectModel *)managedObjectModel {
if (_managedObjectModel != nil) {
return _managedObjectModel;
}
_managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
return _managedObjectModel;
}
//3
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory]
stringByAppendingPathComponent: @"PhoneBook.sqlite"]];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc]
initWithManagedObjectModel:[self managedObjectModel]];
if(![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil URL:storeUrl options:nil error:&error]) {
/*Error for store creation should be handled in here*/
}
return _persistentStoreCoordinator;
}
- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}