Vous souhaitez:
-(NSManagedObject *)existingObjectWithID:(NSManagedObjectID *)objectID
error:(NSError **)error
Récupère l'objet à partir de la boutique qui a l'IDENTIFIANT, ou nil s'il n'existe pas.
(Attention: il existe deux méthodes sur NSManagedObjectContext avec même semblant de noms qui a déclenché moi. Pour aider à garder leur droite, voici ce que les deux autres:
-(NSManagedObject *)objectWithID:(NSManagedObjectID *)objectID
...permettra de créer un défaut de l'objet avec le objectID, si oui ou non un tel objet existe réellement dans le magasin. S'il n'existe pas, tout ce qui déclenche l'erreur sera pas, sauf si vous insérez un objet en premier avec NSManagedObjectContext de l' insertObject:
. La seule utilisation que j'ai trouvé pour ce qui est de la copie d'objets à partir d'un magasin à l'autre tout en préservant ObjectIDs.
-(NSManagedObject *)objectRegisteredForID:(NSManagedObjectID *)objectID
...sera de retour l'objet qui a l'IDENTIFIANT, si elle a été récupérée à partir de la boutique en ce managedObjectContext. Si quelqu'un sait ce que cette méthode est utile pour, s'il vous plaît commentaire.)
[eta.: Une autre différence importante entre la première méthode et les deux autres c'est qu' existingObjectWithID:error:
ne retourne jamais une faute; il est toujours récupère l'ensemble de l'objet pour vous. Si vous êtes en essayant d'éviter qu' (par exemple, travailler avec un cher-pour-aller chercher un objet avec un gros blob de la propriété), vous devez être à l'aise avec les objectWithID:
ou objectRegisteredForID:
, ce qui n'est pas le feu défauts; ou utiliser correctement configuré extraire la demande.]