Это код для метода toggleAddProject, код Core Data почти такой же, как в примере Apple CoreDataBooks, однако, когда я нажимаю кнопку добавления, приложение вылетает с entityForName: could not locate an NSManagedObjectModel for entity name 'Project'
в строке, начинающейся с newProjectController.project
-(IBAction)toggleAddProject
{
NewProjectViewController *newProjectController = [[[NewProjectViewController alloc] initWithStyle:UITableViewStyleGrouped] autorelease];
// Create a new managed object context for the new project -- set its persistent store coordinator to the same as that from the fetched results controller context.
NSManagedObjectContext *addingContext = [[NSManagedObjectContext alloc] init];
self.addingManagedObjectContext = addingContext;
[addingManagedObjectContext setPersistentStoreCoordinator:[[fetchedResultsController managedObjectContext] persistentStoreCoordinator]];
newProjectController.project = (Project *)[NSEntityDescription insertNewObjectForEntityForName:@"Project" inManagedObjectContext:addingContext];
[addingContext release];
UINavigationController *addNewNavigationController = [[UINavigationController alloc] initWithRootViewController:newProjectController];
[self.navigationController presentModalViewController:addNewNavigationController animated:YES];
[addNewNavigationController release];
}
Все синтезировано, существует объект Project. Я не могу понять, почему он падает. Большинство людей, похоже, могут исправить эту ошибку, вставив следующий код либо в сам метод, либо в viewDidLoad:
if (managedObjectContext == nil)
{
managedObjectContext = [(CoreDataBooksAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
При изменении для моего делегата приложения это не имеет значения. Спасибо за любую помощь.