Bindings pas très clairs pour moi..

LeChatNoirLeChatNoir Membre, Modérateur
09:43 modifié dans API AppKit #1
Bonjour,
Je me suis lancé dans les bindings il y a peu.
J'ai vu la manière de les réaliser dans le code via le topic "Binding on the fly".
Cependant, je trouve plus d'intérêt à  le faire dans IB (à  la base, c'est le but).

Si je prend l'exemple d'un combo à  remplir via un tableau, j'arrive à  le faire direct dans IB uniquement dans une application "Document Based". En effet, dans ce type d'appli, le modèle sur lequel on bosse est le File's owner et on peu "binder" notre NSArrayController avec le File's owner et un NSArray de notre choix.

Si l'appli n'est pas "Document Based", alors j'arrive pas à  binder le NSArrayController avec mon tableau because on peut que choisir File's Owner ou Shared qqchose... Je n'arrive à  le faire que dans le code... Quelqu'un a une solution ? Peut on transformer une classe perso en File's Owner ? Même si cette classe est une sous classe de NSObject ?

2eme question : Je remplis un combo avec un tableau à  moi. Comment faire en sorte que quand je choisis un item de ce combo, ça mette à  jour des variables de mon modèle (juste des variables qui ne sont pas dans l'interface graphique) ?

Je sais pas si je suis très clair mais les bindings ne sont pas encore clairs pour moi  :-\

Réponses

  • muqaddarmuqaddar Administrateur
    09:43 modifié #2
    Salut et bien re-venue à  toi LechatNoir

    Pour la première question, d'après tout ce que j'ai vu, il faut passer par un NSObjectControlleur, le relier en "content" à  File's Owner (de mémoire) et binder ton ArrayController dessus le ObjectController, si tu veux pas passer par le code. C'est bien dommage...

    Pour la deuxième question, tu veux le faire en bindings aussi ?
  • LeChatNoirLeChatNoir Membre, Modérateur
    09:43 modifié #3
    Merci pour la bien-revenue :-)

    Je crois que j'ai pigé pour le premier point. Je crois que je vais le faire par code vu la complexité...

    Pour le 2eme point, j'aimerai effectivement le faire par bindings...

    Je sais pas trop si faut utiliser ça de partout en fait..

    J'ai commencé par apprendre le Cocoa via un convertisseur euro et je le fais évoluer pour récupérer les taux de change via le net et permettre le choix de la devise via les préférences...

    Sans les bindings, aucun pb... Mais j'ai voulu voir ce que ça valait et ça à  l'air d'éviter pas mal de code donc, je cherche à  les utiliser à  bon escient...

    Je cherche donc à  binder un pop up via la liste de devises puis à  maj mon taux de conversion et le libellé de la devise suite au choix dans le pop up et enfin, j'essaiera de binder ça avec les prefs utilisateurs que j'ai implémenté à  l'ancienne et qui peuvent également apparemment se faire avec les bindings...

    a+
  • muqaddarmuqaddar Administrateur
    09:43 modifié #4
    Arf.
    ça fait un petit moment que j'ai laché les bindings...
    En fait, j'avais commencé par apprendre cocoa avec les bindings et j'ai eu tort car j'ai loupé les bases. Alors en ce moment, c'est 100% sans bindings. Toutefois, c'est vrai que ça fait gagner beaucoup de code...

    Attends le retour de ClicCool ou Tiff qui est un pro des popups bindings...

    regarde ces threads :
    http://www.objective-cocoa.org/forum/index.php?topic=175.0
    http://www.objective-cocoa.org/forum/index.php?topic=213.0
Connectez-vous ou Inscrivez-vous pour répondre.