Question

Je parse un fichier xml contenant des livres, pour chaque nouveau nœud que je vais:

Book *book = (Book*)[NSEntityDescription insertNewObjectForEntityForName:@"Book" inManagedObjectContext:managedObjectContext];

Pour obtenir un NSManagedObject de mon Core Data Book entité, je puis passez à peupler l'objet Livre géré avec des données, l'ajouter à un tableau, rincer, répéter.

Quand je suis fait, je vous présente la liste des livres à l'utilisateur. Je ne l'ai pas encore exécuté la sauvegarde:

NSError *error;
if (![managedObjectContext save:&error]) {
    NSLog(@"%@", [error domain]);
}

L'utilisateur sélectionne maintenant l'un des livres, celui-ci, je voudrais persister, mais seulement celui-ci, tous les autres livres sont d'aucun intérêt pour moi plus. L'entité livre n'a pas / ou fait partie de toute relation. Il est juste un "single" entité.

Si je tire « Enregistrer levier » chaque objet livre sera persisté et je vais devoir supprimer tout mais mon désirée.

Comment puis-je contourner ce problème, je ne peux pas sembler vraiment trouver que l'utilisation cas particulier dans le Guide de programmation des données de base, qui sorte de aussi me dérange un peu, je vais avec les meilleures pratiques ici?

Merci pour toute aide donnée.

Était-ce utile?

La solution

Oui, vous allez à l'encontre des meilleures pratiques. Dans ce cas d'utilisation, si vous ne voulez vraiment pas enregistrer les objets, les garder dans un format intermédiaire et créer uniquement un objet de base de données pour celui que vous voulez persister. Cependant, cela semble tout à fait tort.

Quel est le mal à sauver les autres livres? Sont le seul va être utilisé qu'une seule fois jamais?

Sur la base de la petite quantité d'informations que vous avez fournies, il semble que votre approche des besoins de problème à reconsidérée.

Mise à jour

Suppression des objets non enregistrés du contexte a un oui très frais généraux petit pour c'est la meilleure solution étant donné les paramètres que vous avez. J'ai demandé aux autres questions pour voir s'il y avait une solution globale de nettoyage plutôt que de construire les objets juste pour les jeter. Sons comme vous avez déjà été dans cette voie bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top