我刚用Cocoa开始OS X开发,但是我遇到了很多基本问题。
如何在Java中检测从NSTextField更改的文本,如onTextChanged()? 有人说要委托代表,但是我无法理解什么是委托,以及代理什么。
我在Xcode 5.0.2中使用cocoa框架。
谢谢,抱歉我的英语不好:'(
答案 0 :(得分:1)
在类声明中添加NSTextFieldDelegate协议:
@interface MyView : NSView <NSTextFieldDelegate>
然后在代码集中:
myTextField.delegate = self;
现在,您的文本字段将向委托发送通知,您可以实现所需的任何委托功能(请参阅下面链接中的NSText委托方法实现)
您现在需要的是实施:
- (void)textDidChange:(NSNotification *)aNotification {
//Do stuff here
}
答案 1 :(得分:0)
尽管编写代码,您也可以通过绑定实现相同的功能。只需将textfield
与fileowners
的代表联系起来即可。如下所示: -
然后实现以下方法。因此,无需在头文件中定义NSTextFieldDelegate
protocol
,也无需通过代码在实现文件中设置delegate
: -
-(void)controlTextDidChange:(NSNotification *)obj
{
}