Utilisation de NSManagedObject comme Object Classique.

Bonjour,



Je débute avec CoreData et j'aimerai savoir si il y a un moyen d'utiliser les NSManagedObject comme un objet classique héritant de NSObject.



Je vous détail le problème :



- Je récupère un flux xml listant des Events.

- Je dois les afficher dans un UITableView

- Quand l'utilisateur regarde un Event en particulier il peu choisir de le sauvegarder dans ses "Favoris".



J'ai donc un Objet Event de type NSManagedObject mais j'aimerai qu'au moment ou je parse le XML je puisse créer un NSArray d'events et n'en sauvegarder que certain à  la demande.



J'aimerai que vous me conseiller sur la meilleur solution a appliquer a mon problème.



Merci d'avance.

Réponses

  • NSManagedObject est hérité de NSObject.



    Pour ta question : cela signifie-t-il que tant que l'utilisateur n'a pas choisi de sauvegarder un Event, il est... volatile ? J'entends par là  qu'aucun des Event n'est sauvegardé même si l'appli. quitte ?

    Et quand un Event est sauvegardé, doit-il toujours être présent dans ta liste initiale ?
  • AlakAlak Membre
    Oui l'Event est Volatile.



    Oui il est toujours présent dans la liste initial après sauvegarde.
  • Là  je sèche :-)

    J'avais pensé à  l'utilisation de deux context, un pour l'affichage et l'autre créé uniquement lors de la sauvegarde d'un Event mais ça ne marchera pas.



    Et en prenant le problème d'une autre façon : enregistrer systématiquement les Events et supprimer, en background, au moment qui convient, les Event non marqués comme favoris ?
  • Ce que tu peux faire c'est tous les enregistrer, mais rajouter un flag "favorite".



    Et après à  la limite, comme le suggère Kuberman, tu peux faire un delete de tout les events qui sont pas flagué comme "favorite". Tu peux le faire au lancement de l'application.

    Tu pourrais le faire quand l'appli va quitter ou va passer en background, mais si ton appli crashe, tu ne vas pas passer par ses méthode delegate. Donc par précaution je le ferais aussi dans le didFinishLaunching.
  • AlakAlak Membre
    Bonjour,



    Je me suis finalement résigné a sauvegarder tout mes events et d'avoir un BOOL si il sont favoris, et je les delete une fois la date passé pour pas surcharger l'app (l'event contient une photo).



    Merci pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.