【发布时间】:2010-11-02 09:06:51
【问题描述】:
我有一个NSTextField,我需要将该字段的值放入一个变量中。合适的方法是什么?
【问题讨论】:
标签: macos cocoa nstextfield
我有一个NSTextField,我需要将该字段的值放入一个变量中。合适的方法是什么?
【问题讨论】:
标签: macos cocoa nstextfield
对于NSString,您可以使用:
NSString *myString = [theTextField stringValue];
对于int,您可以使用:
int myInt = [theTextField intValue];
还有许多其他方法可以从控件中获取值。在"Getting and Setting the Control’s Value" section 下查看NSControl 参考以获取更多信息。
这是一个列表:
doubleValuefloatValueintValueintegerValueobjectValuestringValueattributedStringValue【讨论】:
Swift 3.x 版本:
myField.stringValue
【讨论】:
[myField stringValue]
NSTextField 继承自 NSControl,NSControl 定义了 stringValue/setStringvalue: 方法。
【讨论】:
还有:
假设您有一个对象 (MyObject),希望在有人输入 NSTextField 时收到通知。在.h 文件中,MyObject 应该声明它符合NSTextFieldDelegate,如...
@interface MyObject : NSObject <NSTextFieldDelegate>
然后将 MyObject 设置为 NSTextField 的委托
[myTextField setDelegate:myObject]
现在,您可以通过在 MyObject 中实现方法来了解文本字段中何时发生的事情,例如:
-(void)controlTextDidEndEditing:(NSNotification *)aNotification;
-(void)controlTextDidChange:(NSNotification *)aNotification;
-(void)controlTextDidBeginEditing:(NSNotification *)aNotification;
【讨论】: