【发布时间】:2013-07-26 13:00:16
【问题描述】:
我在UIView 中有许多以编程方式生成的UILabels(数据库中的每条记录一个)。我希望这些定期更新(比如每 5 秒一次),但由于它们是动态的,因此很难对它们进行“处理”以更改它们的值。
有人知道怎么做吗?
【问题讨论】:
-
stackoverflow.com/a/7799252/1059705 看到这个链接,可能对你有帮助。
标签: ios cadisplaylink
我在UIView 中有许多以编程方式生成的UILabels(数据库中的每条记录一个)。我希望这些定期更新(比如每 5 秒一次),但由于它们是动态的,因此很难对它们进行“处理”以更改它们的值。
有人知道怎么做吗?
【问题讨论】:
标签: ios cadisplaylink
在创建时,我会为每个标签设置标签,并与创建它们的数组的索引并行递增每个标签值。然后,您可以在您为 CADisplayLink 对象声明的任何选择器中从他们的特定视图中使用
for (int i = 0; i < [arrayOfData count]; i++){
UILabel *label = (UILabel*)[self.view viewWithTag:i];
//update label
}
希望我正确理解了您的问题
【讨论】:
有很多方法,首先你需要保留对标签的引用......数组应该很好,而且最好有一个带有模型的自定义标签,所以你实际上改变了模型上的值,你只需向标签发送消息以重绘内容,您可以这样做:
[labelArray makeObjectsPerformSelector:@selector(yourMethodToRefreshTheContent)];
你甚至可以传递一个对象,但这意味着所有标签都是同一个对象
[labelArray makeObjectsPerformSelector:@selector(valueSetter) withObject:newValue];
【讨论】: