2

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

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

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

谢谢莱昂纳多

4

3 回答 3

1

您将需要研究以下内容:

  1. 通知通知

和/或

  1. 键值编码KVC

通知将允许您设置更改的自动通知,例如您希望在整个程序中级联更改的对象(例如变量)。KVC 允许您将数据连接到对象,如果您使用 Core Data,它可能会有所帮助。

我会先从通知开始。

于 2010-01-19T11:12:06.793 回答
1

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

具体来说,您将IBAction在控制器中添加一个方法,并UILabel在内容更改时连接以调用它。

这个问题之前也讨论过:

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

于 2010-01-19T11:12:30.677 回答
-1

这是很有可能的,有两种方法可以做到。

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

通过 Interface Builder,您可以将 UILabel 拖放到您想要的位置,并在代码中有一个属性来连接它,然后使用该属性来设置myLabel.text它。

于 2010-01-19T11:03:31.787 回答