[CoreData] Ajouter une données [Résolu]

npantinpanti Membre
juillet 2010 modifié dans API AppKit #1
Bonjour à  tous,

Je voudrais ajouter une données dans ma bdd CoreData et j'utilise la fonction suivante:
- (void)addStock:(NSString *)name withDescription:(NSString *)description {<br />	<br />	NSManagedObjectModel *mom = managedObjectModel();<br />	NSManagedObjectContext *moc = managedObjectContext();<br />	<br />	NSEntityDescription *stockEntity = [[mom entitiesByName] objectForKey:@&quot;Stock&quot;];<br />	NSManagedObject *stock = [[NSManagedObject alloc] initWithEntity:stockEntity insertIntoManagedObjectContext:moc];<br />	<br />	[stock setValue:name forKey:@&quot;name&quot;];<br />	[stock setValue:description forKey:@&quot;description&quot;];<br />}


Lorsque je fais appel à  cette fonction j'obtiens l'erreur suivante
2010-07-08 19:46:54.187 Stock[30310:a0f] An uncaught exception was raised<br />2010-07-08 19:46:54.190 Stock[30310:a0f] An NSManagedObject of class &#39;NSManagedObject&#39; must have a valid NSEntityDescription.<br />2010-07-08 19:46:54.191 Stock[30310:a0f] *** Terminating app due to uncaught exception &#39;NSInvalidArgumentException&#39;, reason: &#39;An NSManagedObject of class &#39;NSManagedObject&#39; must have a valid NSEntityDescription.&#39;<br />


Apparemment il y à  un problème avec l'entitydescription, mais je ne comprend pas pourquoi

Si quelqu'un a une idée.

D'avance merci

Réponses

  • ChachaChacha Membre
    15:30 modifié #2
    Que donne un NSLog(@%@", stockEntity) ?
    As-tu une sous-classe de NSManagedObject pour cette entité ? Peut-on voir sa déclaration le cas échéant ?
    Est-ce sous 10.4, 10.5 ou 10.6 ?
  • npantinpanti Membre
    15:30 modifié #3
    Merci de ton aide grace au nslog j'ai trouvé.
    Mon erreur ce situe au niveau de l'appel des fonctions managedobjectmodel et context

    Ce n'est pas:
    NSManagedObjectModel *mom = managedObjectModel();<br />	NSManagedObjectContext *moc = managedObjectContext();
    


    mais ceci que je devais faire
    NSManagedObjectModel *mom = [self managedObjectModel];<br />	NSManagedObjectContext *moc = [self managedObjectContext];
    
Connectez-vous ou Inscrivez-vous pour répondre.