web-dev-qa-db-fra.com

Obtenez de la valeur de NSTextField

J'ai un NSTextField et je dois obtenir la valeur du champ dans une variable. Quelle est la méthode appropriée?

105
anakin

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
115
toholio

[myField stringValue]

NSTextField hérite de NSControl, et NSControl définit le stringValue/setStringvalue: méthodes.

3
NilObject

Version Swift 3.x:

myField.stringValue
3
Stanley

É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;
0
The Cappy