Tout d'abord, je dois le faire sans IB et sans les techniques avancées d'Objective-C comme KVO.Valider les valeurs décimales max/min dans un NSTextField
Mon problème vient du simple fait que je ne trouve pas un moyen d'obtenir toute la nouvelle valeur de chaîne du champ de texte.
J'ai essayé d'utiliser la fonction de délégué:
- (BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
mais cela ne me donne non seulement la chaîne de remplacement pas la chaîne complète j'ai besoin pour validation. Je peux ensuite utiliser le texte
J'ai trouvé
- (void)textDidChange:(NSNotification *)aNotification
- (void)controlTextDidChange:(NSNotification *)aNotification
mais quand je reçois cette demande, il est déjà à la fin et le dernier contenu du champ de texte est déjà parti. Alors, quelle est la meilleure façon de gérer cela?
Et oui, j'ai lu binding NSTextField to NSNumber mais cela ne me donne aucune idée de comment résoudre mon problème.
Tout ce dont j'ai besoin est une simple fonction de test "- (BOOL) acceptNewValue (NSString string)". Pourquoi est-ce que tout est si compliqué avec Cocoa, il commence à se sentir comme MFC.
Merci cela résout le problème. Mais j'en ai un nouveau http://stackoverflow.com/questions/3605571/how-to-set-nsformatter-to-accept-negative-integer-values – Lothar