Problème NSArrayController et bindings sous coredata
frOM
Membre
Je suis en train de modifier une ancienne application (uniquement sous IB, j'ai perdu le code) et j'ai le problème suivant :
Mon application utilise (entre autres) 4 entity dans la relation maà®tre-esclave.
Parties--(slaves)-->Sections--(slaves)-->Questions--(slaves)-->Réponses.
Tout cela est affiché dans des tableviews et les dépendances marchent parfaitement.
J'essaie d'ajouter une nouvelle tableview qui afficherait toutes les réponses d'une même section : le niveau Questions étant en quelque sorte éliminé.
Sections----(Questions)---->Réponses
J'ai cru naà¯vement qu'il me suffirait de créer un nouvel arrayController dont le contenu serait tous les managedObjects des Questions, et que je pourrais récupérer toutes les réponses par la relationship "slaves". Les réponses devant s'afficher étant dépendantes de la sélection au niveau des sections.
ça ne marche pas.
J'ai essayé toutes sortes de solutions, les problèmes vont de : le document ne peut pas s'afficher, seules une ou deux des tableviews de la hiérarchie se remplissent, la nouvelle affiche seulement : "{(" [ce qui indique, si mes souvenirs sont bons, que le résultat est un NSSet inaffichable.]
Il semble que ce soit le réglage du Controller Key sur "managedObjects" qui ne... plaise pas !
Est-ce seulement faisable ? Si oui, quelle pourrait être la solution ?
Mon application utilise (entre autres) 4 entity dans la relation maà®tre-esclave.
Parties--(slaves)-->Sections--(slaves)-->Questions--(slaves)-->Réponses.
Tout cela est affiché dans des tableviews et les dépendances marchent parfaitement.
J'essaie d'ajouter une nouvelle tableview qui afficherait toutes les réponses d'une même section : le niveau Questions étant en quelque sorte éliminé.
Sections----(Questions)---->Réponses
J'ai cru naà¯vement qu'il me suffirait de créer un nouvel arrayController dont le contenu serait tous les managedObjects des Questions, et que je pourrais récupérer toutes les réponses par la relationship "slaves". Les réponses devant s'afficher étant dépendantes de la sélection au niveau des sections.
ça ne marche pas.
J'ai essayé toutes sortes de solutions, les problèmes vont de : le document ne peut pas s'afficher, seules une ou deux des tableviews de la hiérarchie se remplissent, la nouvelle affiche seulement : "{(" [ce qui indique, si mes souvenirs sont bons, que le résultat est un NSSet inaffichable.]
Il semble que ce soit le réglage du Controller Key sur "managedObjects" qui ne... plaise pas !
Est-ce seulement faisable ? Si oui, quelle pourrait être la solution ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Honnêtement moi, les relations sado-maso c'est pas trop mon truc.
Mais as-tu bien bindé ton nouvel arrayController sur le "content set" et non pas le "content Array" ?
Oui, bien sûr. (Hélas!...)
Si c'est le cas je ne crois pas que tu es besoin d'un autre contrôleur.
L'enchaà®nement actuel est : Sections----Questions---->Réponses et je voudrais "sauter" les Questions : Sections---->Réponses.
Un chemin du genre Sections.slaves.slaves ; mais ça ne marche pas (??).
Et pour cause, à moins que tu n'aies défini par toi même "managedObjects" parce que managedObject c'est dans CoreData mais dans les ArrayControllers c'est "arrangedObjects" quand on veut tous les objets d'une entité (selectedObjects ceux qui sont choisis dans l'interface utilisateur).
m2¢
Il faut toujours se relire... je voulais dire "arrangesObjects", bien sûr.
se relire en effet ;D
et en bindant dans le même principe QuestionsArrayController et ReponsesArrayController
Cela devrait afficher toutes les réponses lorsque tu sélectionnes toutes les sections et il n'y a pas d'arrayController à rajouter.
::)
Je ne sais pas si c'est tout à fait ce que je cherche à obtenir mais @unionOfSets me semble une bonne piste. Je vais voir ce que je peux en tirer.
PS. Je me suis relu :fouf):
Je ne suis pas certain qu'on puisse faire ce que je vise avec un simple contrôleur, le code est sans doute la seule solution.
Merci néanmoins.