n'a pas pu trouver un NSManagedObjectModel pour le nom de l'entité
C'est le code pour toggleAddProject méthode, la Base de Données de code est presque la même que dans Apple CoreDataBooks de l'échantillon, cependant lorsque je clique sur le bouton ajouter l'application se bloque avec entityForName: could not locate an NSManagedObjectModel for entity name 'Project'
sur la ligne de départ avec 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's 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];
}
Tout a été synthétisé, l'entité du Projet existe. Je ne peux pas comprendre pourquoi il se bloque. La plupart des gens semblent être en mesure de corriger cette erreur en insérant le code suivant soit dans la méthode elle-même, ou dans le viewDidLoad:
if (managedObjectContext == nil)
{
managedObjectContext = [(CoreDataBooksAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
}
Lorsqu'il est modifié pour mon délégué d'application, il ne fait aucune différence. Merci pour toute aide.
Vous devez vous connecter pour publier un commentaire.
Cette erreur a seulement quelques-uns des sources possibles:
J'ai eu ce problème quand j'ai eu plusieurs
NSManagedObjectContext
s. Le moyen rapide pour déboguer il était d'inspecter les différents connexion bits et assurez-vous que mon entité a été inscrite avant d'appeler le contexte.Utiliser le débogueur et de confirmer que votre modèle n'est pas nul. C'est la cause la plus fréquente de cette erreur. Si elle n'est pas nulle alors cherchez une faute de frappe dans le nom de l'entité.
La Pomme docs donner quelques bonnes informations sur le débogage de l'erreur
entityForName: could not locate an NSManagedObjectModel for entity name 'Foo'
.Regarder cette l'article de la Base de Données Guide de Programmation.
Ok j'ai couru à travers cette question et je l'ai résolu de la même manière. Le code original a été donnée comme:
Alors que le code est concis, il semble que le débogueur ne peut pas afficher des informations plus détaillées sur l'erreur puisque vous êtes à la fois à la création et la configuration d'une nouvelle instance de l '"Événement" de l'entité (ou quel que soit votre Entité nommée).
Au lieu de cela, j'ai éclaté en trois lignes et le débogueur affiche beaucoup plus d'informations:
J'ai trouvé que je n'avais pas définir le Type correct pour l'un des attributs et j'ai eu une faute de frappe dans mon code, ce qui le débogueur souligné.
Au cours de mon développement, je ne pouvais pas trouver Entités que j'ai ajouté plus tard.
Ce qui a fonctionné pour moi: (en gros une santé mentale-tip)
Désinstaller l'Application à CHAQUE FOIS que vous modifiez le Modèle de Données!
Le Modèle de Données est mis en cache par Core de Données entre les installe, afin de s'assurer de l'intégrité des séjours dans le tact. Supprimer l'Application dans le simulateur /iPhone pour être en mesure de tester vos modifications.
PS: quelqu'un sait-il comment le faire automatiquement?
TechZen est sur place...dans mon cas, c'est le n ° 4. Promenade à travers les étapes décrites dans le lien suivant, et cela devrait vous aider à ajouter cette CoreData méthodes dans un projet existant et obtenir tout mis en place correctement de sorte que vous ne courez pas dans l'erreur que vous rencontrez.
L'ajout de Base de Données Pour iPhone actuel des Projets