Pb avec Core Data et awakfrominsert

bitoniobitonio Membre
23:57 modifié dans API AppKit #1
Bonjour à  tous et merci pour ce forum qui m'a permis de résoudre un bon paquet de problèmes.

Je suis actuellement en train de réaliser une application cocoa utilisant CoreData. Cette application doit permettre, par l'intermédiaire de sa base de données, de gérer un système de fichier ayant la forme :

Album --> Session1 --> Scans --> File0
        --> Session2
        --> Session3 -->Scan1
                            -->Scan2 --> etc....

Pour cela j'ai créer des tables Album, Session, Scan, File dans la base de données, ayant tous les attributs suivants :
name : le nom
directory : le chemin du repertoire/fichier sur le disque dur
comments : un commentaire sur le fichier

et reliées entre elles par des relations :
un album peut avoir plusieurs sessions
une session peut avoir un seul album etc...

pour le moment aucun problème... mais ils arrivent ^^.

Mon problème est le suivant, lorsque je souhaite ajouter une session, j'utilise la fonction Add de mon arrayController Session relier à  un boutton par binding. J'utilise ensuite la fonctione awakeFormNib de ma classe Session (qui hérite de NSManagedObject) pour mettre des valeurs par défaut dans mes champs. Le problème et que pour ajouter une session, je dois également créer son repertoire associer qui est un sous repertoire de Album. Pour cela j'ai donc besoin du champ directory de l'album parent qui me retourne le chemin du repertoire de l'album. L'inconvénient est que je ne peut pas acceder à  Album (le parent de session) car la relation vers cet album n'est pas encore créer dans la fonction awakeFromNib.

Comment puis-je donc accéder à  ce champ directory pour l'initialiser dans cette nouvelle session ???

Réponses

  • fouffouf Membre
    23:57 modifié #2
    Je sais pas comment est codée ton appli, donc j'émet juste cette hypothèse : pourquoi ne créerais-tu pas le répertoire au moment où la relation avec l'album est "tissée" ?
  • bitoniobitonio Membre
    23:57 modifié #3
    Oui c'est une très bonne idée mais je ne sais pas à  quel instant est créée la relation. Dans quelle fonction dois-je créer mon repertoire ???
  • fouffouf Membre
    23:57 modifié #4
    Normalement tu devrais avoir un setAlbum: qui est appelée au moment de la création de la liaison. Mais à  vrai dire, je suis pas spécialiste de Core Data, donc faut essayer ... ;)
Connectez-vous ou Inscrivez-vous pour répondre.