我不是iOS大师,但我知道足够构建应用程序。我知道并理解模式,UIKit和Objective-C。我现在正在学习Mac开发,而"Cocoa Bindings Programming Topics"的这一点让我感到难过:
以一个非常简单的应用程序为例,其中文本字段和滑块中的值保持同步。首先考虑一个不使用绑定的实现。 文本字段和滑块使用target-action直接相互连接,其中每个都是另一个目标,操作是
takeFloatValueFrom:
,如图2所示。(如果您不明白这个,你应该阅读 Cocoa入门。)
这个例子说明了Cocoa环境的动态 - 两个用户界面对象的值保持同步而不编写任何代码,即使没有编译。
(强调我的)
咦?你不需要创建网点吗?和一个类似
的IBAction- (IBAction)takeFloatValueFrom:(id)sender {
self.slider.floatValue = [sender floatValue];
self.textField.floatValue = [sender floatValue];
}
这是特定于Mac的吗?你如何在XIB中实际连接两个带有target-action的控件而不编写任何代码并锁定它们的值?
答案 0 :(得分:1)
当您在Interface Builder中设置界面时,您可以指定只要它以某种方式更改,它就会向另一个对象发送消息。这个例子显示的是你可以挂钩这两个对象,这样每当滑块改变时,它会将消息takeFloatValueFrom:
发送到文本字段,反之亦然。
takeFloatValueFrom:
是NSControl
上定义的方法,文本字段和滑块都是NSControl
的子类。