Informer le délégué pour enregistrer
muqaddar
Administrateur
Salut,
J'ai un petit soucis concernant l'enregistrement de mes champs. Dans mon appli, si j'enregistre Pomme-S, tout se sauvegarde, aucun pb. En revanche, si je modifie un champ (textView ou textField), et que je ne change pas de first responder, cette méthode n'est plus efficace quand je quitte l'appli sans enregistrer :
Je voudrais donc informer et enregistrer mes modifs autrement. J'ai bien essayé ceci :
mais ça ne marche pas non plus. Sinon, j'ai encore moyen d'afficher un panneau d'alerte qd j'ai fais des modifs au moment de quitter comme la plupart des programmes, mais comment ?
J'ai un petit soucis concernant l'enregistrement de mes champs. Dans mon appli, si j'enregistre Pomme-S, tout se sauvegarde, aucun pb. En revanche, si je modifie un champ (textView ou textField), et que je ne change pas de first responder, cette méthode n'est plus efficace quand je quitte l'appli sans enregistrer :
- (NSApplicationTerminateReply)applicationShouldTerminate:(id)sender<br />{<br /> BOOL saveResult = [self mamethodedenregistrement];<br /> if (saveResult) {<br /> return NSTerminateNow; <br /> }<br />}
Je voudrais donc informer et enregistrer mes modifs autrement. J'ai bien essayé ceci :
- (void)textDidChange:(NSNotification *)notification<br />{<br />Â Â Â BOOL saveResult = [self mamethodedenregistrement];<br />}
mais ça ne marche pas non plus. Sinon, j'ai encore moyen d'afficher un panneau d'alerte qd j'ai fais des modifs au moment de quitter comme la plupart des programmes, mais comment ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Bizarre que ça ne fonctionne pas, t'as essayé de mettre un NSLog pour voir si textDidChange est vraiment appelé ?
Avec textShouldEndEditing, ça ne fonctionne pas non plus ?
Il semble que tu n'ai pas choisi, dans ton binding, "continuously update value" et "validate imméditatly".
Le champ en cours d'édition n'est donc effectivement pris en compte que à la fin de l'édition, c'est à dire quand il perd le focus (et n'est plus first responder comme tu l'a remarqué).
En ajoutant ces options, les changements sont appliquer aux données sources au fur et à mesure des entrées du clavier.
Ces options se définissent par les boites à cocher sous I.B. ou par le dictionnaire d'options transmis lors d'un binding à la volée.
Pour en savoir plus sur les options que l'on peut utiliser dans ce dico vas voir là : Bindings Références / Binding Options
Et le tour est joué. :-)
Bizarre, comme je le disais ici ce matin, chez moi tout fonctionne à merveille.
Comment fait-on un undo-redo ?
J'étudie la doc, avant de créer un nouveau sujet.
C'est marrant nos sujets se "croisent" Tiff !