Partage de Entity ArrayController entre plusieurs vues.
Paisible.fr
Membre
Bonjour,
Je bute actuellement sur le problème CoreData suivant exposè ci-dessous.
Mon application en développement est une application à la "iTunes" basée sur coreData
J'ai à gauche une vue source (une liste de disque) et une vue contenue à droite. (le détail du disque : durée, photo, etc...)
Le projet est organisé de la sorte :
- 1 mainMenu.xib
- 1 mainWindow.xib
- 1 sourceView.xib
- 1 contentview.xib
Chaque File's owner pointe sur une classe controller adaptée.
Pour la sourceView, j'ai dans le xib un ArrayControllor de type "entity". J'ai fait binder cet array controller sur une NSTableView pour m'afficher le nom du disque. Cela fonctionne parfaitement
Pour le content view, j'ai placé un ObjectController de type "entity" avec des bindings vers des NSTextFields.
Ce qui me pose problème c'est d'arriver à faire en sorte que que le ObjectController contienne le NSManagedObject issue de la selection de l'arrayController de la sourceView.
Je sent bien qu'il va certainement falloir passer par une variable "globale" dans le windowController (ou mieux dans le AppController/AppDelegate) du style : currentSelectedDisque.
Je me doute que les observer pourrait avoir un rôle à jouer dans ce processus, mais malgré ma lecture de la documentation d'Apple, le Hillegass, le "core data" de Pragmatic ainsi que les articles sur le web, je n'arrive pas à croncretiser la chose.
Auriez-vous des pistes ou des suggestions à me faire pour résoudre le problème ?
Je bute actuellement sur le problème CoreData suivant exposè ci-dessous.
Mon application en développement est une application à la "iTunes" basée sur coreData
J'ai à gauche une vue source (une liste de disque) et une vue contenue à droite. (le détail du disque : durée, photo, etc...)
Le projet est organisé de la sorte :
- 1 mainMenu.xib
- 1 mainWindow.xib
- 1 sourceView.xib
- 1 contentview.xib
Chaque File's owner pointe sur une classe controller adaptée.
Pour la sourceView, j'ai dans le xib un ArrayControllor de type "entity". J'ai fait binder cet array controller sur une NSTableView pour m'afficher le nom du disque. Cela fonctionne parfaitement
Pour le content view, j'ai placé un ObjectController de type "entity" avec des bindings vers des NSTextFields.
Ce qui me pose problème c'est d'arriver à faire en sorte que que le ObjectController contienne le NSManagedObject issue de la selection de l'arrayController de la sourceView.
Je sent bien qu'il va certainement falloir passer par une variable "globale" dans le windowController (ou mieux dans le AppController/AppDelegate) du style : currentSelectedDisque.
Je me doute que les observer pourrait avoir un rôle à jouer dans ce processus, mais malgré ma lecture de la documentation d'Apple, le Hillegass, le "core data" de Pragmatic ainsi que les articles sur le web, je n'arrive pas à croncretiser la chose.
Auriez-vous des pistes ou des suggestions à me faire pour résoudre le problème ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ah merci, je l'avais pas vu celui-ci !
J'espère que cette lecture me permettra de trouver la solution ou du moins d'avoir d'autres pistes d'investigations.
Ceci, je passe peut-être à coté de la solution sans la voir.
Actuellement j'ai deux xib avec chacun le même ArrayController réglé sur la même entity, mais impossible de faire en sorte que les deux soit sur la même "selection"... Chaque arrayController semble fonctionner sans lien, pourtant ils utilisent le même ManagedObjectContext.
En fait tout ce qu'il me manque c'est simplement de conserver quelque part la sélection effectué dans une view pour la "transmettre" à une autre.
Merci Philippe49