NSMatrix et bindings

UniXUniX Membre
07:27 modifié dans API AppKit #1
Salut,

Je m'arrache les cheveux avec ce casse-tête, et impossible de trouver une réponse sur le net ... Pourtant, je pense que c'est assez basique ...!

J'ai un NSMatrix composé de plusieurs checkboxes. J'ai un tableau composé de BOOL encapsulés dans un NSNumber représentant l'état des checkboxes. Mais impossible de lier les 2 avec des bindings.  >:(
J'ai créé un NSArrayController dont le content est chargé du tableau de BOOL, mais pour lier les checkboxes ou le NSMatrix au controlleur, j'ai tout essayé en vain ...

Quelle est la marche à  suivre ?

Réponses

  • laudemalaudema Membre
    07:27 modifié #2
    Jamais tenté mais si je mets un objet NSMatrix depuis la librairie IB je vois bien qu'il a des liens pour un arrayController dans l'onglet Bindings > ContentValues et je vois même qu'il a choisi directement le premier NSArrayController disponible pour me le proposer et rempli le champ avec la valeur arrangedObjects qui est le bon choix pour afficher chaque valeur des objets du tableau lié.
    Du coup je ne vois pas trop où est ton problème si pour valeur chaque élément de la matrix a un booleen ça devrait le faire (ça le fait dans une NSTableView quand on met une case à  cocher dans une colonne).
  • HerveHerve Membre
    07:27 modifié #3
    A part lier un à  un les checkboxes un à  un à  leurs méthodes respectives, je ne vois pas. Ou bien une gestion plus large des contrôleurs comme ici??

    http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/un-tableau-de-iboutlet-et-de-ibaction/msg67951/#msg67951
  • UniXUniX Membre
    07:27 modifié #4
    Ben j'en suis arrivé à  ta conclusion Hervé. J'ai vraiment tout essayé en vain.
    Je me suis rabattu à  lier chaque checkboxes à  une clé d'un dictionnaire.

    Merci les gars pour votre aide.
  • laudemalaudema Membre
    juillet 2011 modifié #5
    Au temps pour moi..
    Une NSMatrix est plutôt un tableau de NSCell . Tu dois donc lier ton arrayController à  un tableau de NSButtonCells et non de NSButtons. Et construire le tableau pour le NSarrayController avec des
    [NSArray arrayWithObject:uneCheckBoxCell];
    

    Deux pages intéressantes
    pour lier avec un arrayController
    Pour lier sans ArrayController
    Ne pas oublier le KVC (Key Value coding) pour voir les modifications répercutées entre vue et modèle..
Connectez-vous ou Inscrivez-vous pour répondre.