我正在翻阅希尔格拉斯和科昌的书。做我自己的实验来进一步学习我只是想创建一个有4个文本字段的可可界面,3个接受数字,第4个显示其他3个的总和。我可以使用一个按钮来做计算,但我想做的是让它在3个输入中的任何一个发生变化时自动更新。
我在书上和网上都找过关于这一点的课程,但找不到,所以要么它真的很简单,我遗漏了什么,要么就不是那么简单。这样做的传统方法似乎是使用NSNotifactions,但也可以使用绑定?
可可的标准做法是什么?有没有人知道的教程?
干杯,摩根
发布于 2009-06-04 17:09:06
第7章:键值编码;希尔格拉斯的"Cocoa Programming for Mac“或Apple documentation on Key-Value Coding的键值观察可以帮助您完成此任务。
下面是我的样例xcode项目:http://dl.getdropbox.com/u/344540/stackoverflow/AutoAdd.zip。您可以通过使用界面构建器中NSTextFields的检查器的"Bindings“选项卡来控制更新的方式。在该选项卡中还有其他的宝石。
发布于 2009-06-05 02:10:38
因此,您可以在三个文本字段中注册该通知,然后更新计算字段。
我更进一步,创建了一个名为ActionOnChangeTextField的NSTextField子类,每当文本发生变化时,它都会自动调用它的操作。因此,只需将三个文本字段的类设置为ActionOnChangeTextField,并将选择器连接到更新计算方法。
@interface ActionOnChangeTextField : NSTextField {
}
@end
@implementation ActionOnChangeTextField
- (void) doTextChangedAction:(NSNotification*)notification;
{
[[self target] performSelector:[self action]];
}
- (void) awakeFromNib;
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(doTextChangedAction:)
name:NSControlTextDidChangeNotification
object:self];
}
- (void) dealloc;
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
@endhttps://stackoverflow.com/questions/951618
复制相似问题