如何将UILabel的值绑定到实例变量?

时间:2010-01-19 10:56:30

标签: iphone objective-c macos cocoa uilabel

我是mac / objective-c的完全新手。我的问题是:我想知道是否可以将UILabel文本绑定到变量,而不必在值更改时手动设置文本。

例如,在Mac OS上,当我打开一个新的Finder窗口并删除一个文件时,任务栏中的全局可用空间正在发生变化。在开放的所有“发现者”中,这个价值也会发生变化。

如何在Mac或iPhone上使用Objective-c复制此类行为?我在想UILabel,但是我找不到与手动设置每个UILabel不同的方法。

感谢 莱昂纳多

3 个答案:

答案 0 :(得分:1)

您需要研究以下内容:

  1. 通知Notifications
  2. 和/或

    1. 键值编码KVC
    2. 通知将允许您设置更改的自动通知,让我们说一个对象(例如变量),您想要在整个程序中进行级联更改。 KVC允许您将数据连接到对象,如果您使用的是Core Data,则可能会有所帮助。

      我先从通知开始。

答案 1 :(得分:1)

当前版本的iPhone OS(3.1)不支持绑定(例如您可以在桌面Cocoa中找到)。目前,您需要手动编写控制器胶水,以使UI与您的模型保持同步。

具体来说,您可以在控制器中添加IBAction方法,并在内容发生变化时连接UILabel以进行调用。

此问题也已在之前讨论过:

在Mac上,您将使用键值编码(KVC)并将标签绑定到IB中的对象控制器。绑定文档非常详细地介绍了这一点:

答案 2 :(得分:-1)

很有可能,有2种方法可以做到。

以编程方式在代码中创建UILabel并简单地设置它的myLabel.text.text

虽然在Interface Builder中你可以将UILabel拖放到你想要的地方,并在代码中有一个属性来连接它,然后使用该属性在其上设置myLabel.text