binding (débutant)
cbrandt
Membre
salut à tous
je commence avec les bindings (mieux vaut tard que jamais... ) pour les préférences et j'ai un soucis:
mes nstextfields modifiés avec une saisie au clavier sont bien enregistrés, mais pas quand c'est le click d'un bouton qui déclenche un setStringValue sur lesdits nstextfield... je suis sûr que j'ai raté un truc évident, mais quoi ?
je commence avec les bindings (mieux vaut tard que jamais... ) pour les préférences et j'ai un soucis:
mes nstextfields modifiés avec une saisie au clavier sont bien enregistrés, mais pas quand c'est le click d'un bouton qui déclenche un setStringValue sur lesdits nstextfield... je suis sûr que j'ai raté un truc évident, mais quoi ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si tu envoies un setStringValue au textField, ce n'est pas un accesseur KVO et donc ne génère pas de réaction des "observers" comme le fait une édition via l'interface graphique suivi de son endEditing (ou qq chose comme ça).
Y'a moyen de contourner le pb en forçant un endEditing mais j'ai pas le détail en tête.
Ceci dit pourquoi faire un setStringValue sur un élément d'interface alor qu'un setMaVariable mettra à jour TOUS les éléments d'interface bindés avec maVariable ?
c'est un bout de code que j'utilise dans plusieurs autres projets (sans bindings), dans lequels le modèle (les prefs) était mises à jour lors du click du bouton ok.
en fait, je n'ai semble-t-il pas assez modifié mon source, je pensais que le setStringValue suffisait... j'avais déjà essayé de forcer avec endEditing, mais ça ne marche pas, j'ai dû m'y prendre comme un âne.
je vais donc suivre ton conseil de spécialiste et faire un appel au nsusershareddefaultstrucmachincontroller, et ça devrait aller mieux...
Le bouton permet de choisir le fichier ?
Il lance un dialogue de choix ?
Peut-être y a-t-il moyen de binder le dialogue de choix sur le NSUserDefautsController ? (il est accessible à partir de n'importequel nib)
Si tu as une liste de chemin de fichier, peut-être peux tu les mettres dans un popUp ou des checkBoxes dont tu bind le selectedValue avec le NSUserDefautsController ... ?
Bref, plûtot que de t'embêter avec le trucMachinControllerDaizinpo tu peux peut-être pousser plus loin les bindings sur les userDefaults
Sinon, bien sur, c'est pas sorcier le trucMachinControllerDaizinpo
j'utilise maintenant le trucMachinControllerDaizinpo:
et tout roule !
[Fichier joint supprimé par l'administrateur]