2014-10-09 109 views
2

我不是iOS大师,但我知道足以构建应用程序。我知道并理解模式,UIKit和Objective-C。现在我正在学习的Mac开发的"Cocoa Bindings Programming Topics"这一点我已经词穷:不理解Apple的takeFloatValue来自:示例

以一个例子一个非常简单的应用,其中,在文本字段中的值和滑块保持同步。首先考虑一个不使用绑定的实现。 如图2所示,文本字段和滑块使用目标动作直接相互连接,其中每个目标动作都是对方的目标,动作是takeFloatValueFrom:(如果您不明白这一点,则应该阅读入门指南可可。)

该实施例说明,而无需编写任何代码,即使不编译的可可环境 - 两个用户界面对象的值被保持同步的活力。

(重点煤矿)

咦?你不需要创建网点吗?而IBAction就像

- (IBAction)takeFloatValueFrom:(id)sender { 
    self.slider.floatValue = [sender floatValue]; 
    self.textField.floatValue = [sender floatValue]; 
} 

这是Mac的特定?你怎么实际上在XIB中用target-action连接两个控件而不写任何代码并锁定它们的值?

+0

在哪里找到“Cocoa入门”? – tosa 2015-03-27 18:24:37

回答

1

当您在Interface Builder中设置接口时,您可以指定它以任何方式发送消息到另一个对象。这个例子显示的是,你可以将这两个对象挂钩,以便每当滑块发生变化时,它将信息takeFloatValueFrom:发送到文本字段,反之亦然。

takeFloatValueFrom:是在NSControl上定义的方法,文本字段和滑块都是NSControl的子类。

+0

这个macOS是特定的吗? – 2017-05-10 23:31:04