Construire une NSOutlineView en partant d'un tableau

BornToBeCocoaBornToBeCocoa Membre
18:26 modifié dans API AppKit #1
:why?:

Mega help, voilà  plusieurs jours que je suis TOTALEMENT bloqué sur NSOutlineView.

Je m'explique. J'ai consulté les différents tutoriels dispo et grâce à  eux j'ai bien réussi à  créer une NSOutlineView en partant :
- d'un fichier plist (voir http://www.projectomega.org/article.php?lg=fr&php=tuts_objc3&p=1).
- de la NSOV elle même (voir http://www.objective-cocoa.org/forum/index.php?topic=371.0, d'autant plus que cbrandt vient de fournir le code).

Mais je n'y arrive pas en partant d'un NSArray et en essayant de construire l'architecture de la NSOV en lisant chaque element de mon NSArray. Mon appli ressemble à  celle de cbrandt sauf que :
- chez cbrandt c'est la selection dans la NSOV qui détermine si un groupe ou un sous-groupe doit être construit.
- dans mon exemple, c'est en fonction de chaque objet stocké dans l'array que l'appli doit décider s'il faut faire un sous groupe ou pas.

Pour mieux comprendre, dans mon array je stocke les noms, prénoms et équipe des joueurs de golf. A chaque fois que j'ajoute un joueur (via un formulaire de saisie), je veux reconstruire la NSOV pour grouper les joueurs par équipes.
En raison de la construction de l'appli, les joueurs sont ajoutés au fur et à  mesure dans un array et à  chaque ajout/retrait, la NSOV est reconstruite. le NSArray qui contient les joueurs ne peut donc pas être commun avec les NSDictionary et les NSArray qui gèrent la NSOV.

Si quelqu'un a un tuto ou peut m'aider, un gros merci d'avance  :-*

[Fichier joint supprimé par l'administrateur]

Réponses

  • BornToBeCocoaBornToBeCocoa Membre
    18:26 modifié #2
    Finalement je me répond à  moi-même...   :adios!:

    Pour y arriver, j'ai simulé la construction de la NSOutlineView, comme si tous les groupes et les sous-groupes étaient ajoutés manuellement. Merci à  cbrant pour son post car j'ai réutilisé une partie de son code (http://www.objective-cocoa.org/forum/index.php?topic=371.0).
    Pour l'instant mon code n'est pas très orthodoxe du point de vue algorithmique mais ça fonctionne.

    Pour ceux que cela intéresse, je pense poster bientôt le réultat. Pour voir.
Connectez-vous ou Inscrivez-vous pour répondre.