2

刚刚有一个关于 UILabel 类的问题。我知道 UITextField 控件在编辑更改时有一个委托,但我想知道 UILabel 是否有类似的字段。我问的原因是我的应用程序在某些信息发生更改时查询网络并相应地更新它们,我不想在我的更新中硬编码我想要观察的标签的名称只是为了做一个小任务关于它。如果它有一个委托或与之等效的东西,以便我的班级可以监控这些信息,那就太好了。

如果没有,那么任何建议将不胜感激。

4

2 回答 2

19

当文本发生如下变化时,您可以使用 KVO 查找或执行一些代码:

[somelabel addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew context:NULL];

然后听这样的变化

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {

    NSLog(@"the text changed");
}
于 2012-02-01T16:30:02.527 回答
1

如果没有您的代码, AUILabel就无法更改其文本,那么为什么会有一个代表在更改时告诉您呢?您已经知道...UITextField有一个,因为用户可以编辑文本,以便您在更改时被告知。

所以基本上,不,没有委托方法,你甚至不需要一个。

于 2012-02-01T16:24:56.730 回答