J'ai un NSTextField
et je dois obtenir la valeur du champ dans une variable. Quelle est la méthode appropriée?
Pour un NSString
, vous utiliseriez:
NSString *myString = [theTextField stringValue];
Pour un int
, vous utiliseriez:
int myInt = [theTextField intValue];
Il existe de nombreuses autres méthodes pour obtenir la valeur d'un contrôle. Jetez un œil à la référence NSControl
pour plus d'informations, sous la section "Obtention et définition de la valeur du contrôle" .
Voici une liste:
doubleValue
floatValue
intValue
integerValue
objectValue
stringValue
attributedStringValue
[myField stringValue]
NSTextField
hérite de NSControl
, et NSControl
définit le stringValue
/setStringvalue:
méthodes.
Version Swift 3.x:
myField.stringValue
Également:
Supposons que vous ayez un objet (MyObject
) qui souhaite être averti lorsque quelqu'un tape dans un NSTextField
. Dans le fichier .h, MyObject
doit déclarer qu'il est conforme à NSTextFieldDelegate
, comme dans ...
@interface MyObject : NSObject <NSTextFieldDelegate>
Ensuite, vous définissez MyObject en tant que délégué de NSTextField
[myTextField setDelegate:myObject]
Maintenant, vous pouvez savoir quand quelque chose se passe dans le champ de texte en implémentant des méthodes dans MyObject comme:
-(void)controlTextDidEndEditing:(NSNotification *)aNotification;
-(void)controlTextDidChange:(NSNotification *)aNotification;
-(void)controlTextDidBeginEditing:(NSNotification *)aNotification;