我有一个 NSTextField,我需要得到一个变量的字段值。什么是合适的方法?
NSTextField
[myField stringValue]
NSTextField inherits from NSControl, and NSControl defines the stringValue/setStringvalue: methods.
NSControl
stringValue
setStringvalue:
For an NSString you would use:
NSString
NSString *myString = [theTextField stringValue];
For an int you would use:
int
int myInt = [theTextField intValue];
There are many other methods for getting the value from a control. Have a look at the NSControl reference for more info, under the "Getting and Setting the Control’s Value" section.
Here's a list:
doubleValue
floatValue
intValue
integerValue
objectValue
attributedStringValue
Also:
Say you have an object (MyObject) that wants to be be notified when someone types into a NSTextField. In the .h file, MyObject should declare it conforms to NSTextFieldDelegate, as in...
MyObject
NSTextFieldDelegate
@interface MyObject : NSObject <NSTextFieldDelegate>
Then you set MyObject as the delegate of the NSTextField
[myTextField setDelegate:myObject]
Now, you can find out when something happens in the textfield by implementing methods in MyObject like:
-(void)controlTextDidEndEditing:(NSNotification *)aNotification; -(void)controlTextDidChange:(NSNotification *)aNotification; -(void)controlTextDidBeginEditing:(NSNotification *)aNotification;
Swift 3.x Version:
myField.stringValue