2012-05-24 3 views
2

Je suis nouveau dans Core Data et je pense que je ne comprends pas. Lorsque vous allez créer un nouvel objet géré, vous devez utiliser la méthode que j'ai collée en bas de la classe NSEntityDescription.Insertion d'un nouvel objet géré dans les données de base

Maintenant cet objet est-il enregistré dans le contexte, c'est vrai? Pourquoi avez-vous le insertObject: dans NSManagedContext alors? Cela fonctionne sans invoquer cette méthode après avoir utilisé celle dans NSEntityDescription. Quelqu'un pourrait-il expliquer?

NSManagedContext

insertObject: 

NSEntityDescription

+ (id)insertNewObjectForEntityForName:(NSString *)entityName inManagedObjectContext:(NSManagedObjectContext *)context 

Répondre

3

Vous pouvez créer NSManagedObject avec nil contexte et de décider ensuite si vous voulez ajouter au contexte ou non. Vous pouvez également aimer ceci: Is there a way to instantiate a NSManagedObject without inserting it?

+0

Ah, donc si vous créez l'instance avec nil comme contexte, alors vous le passerez plus tard à l'insertObject? – LuckyLuke

+0

Exactement. J'ai ajouté un lien à ma réponse pour plus d'informations. – Adam

+0

Mais si ce n'est pas l'usage prévu comme le souligne certains d'entre eux, pourquoi Apple fournit-il la méthode? Ou passe 'nil' comme contexte normal? – LuckyLuke

Questions connexes