我想编写一些代码以使UILabel文本每当更改时就更新。我正在编写一个小演示,例如:

- (IBAction)ButtonPressed:(id)sender {
    for(int i = 0; i < 100000; ++i)
    {
        [self.Label setText:[NSString stringWithFormat:@"%d",i]];
        [self.Label setNeedsDisplay];
    }
}

当我单击按钮时,标签仅更改为99999一次,但是我希望它显示从0到99999的99999次。有人知道为什么代码不起作用吗?

提前致谢!

最佳答案

setNeedsDisplay告诉系统要绘制您的视图,但这并不强制它发生。该视图将在for循环完成之后的下一个绘制周期中重新绘制。如果您希望所有100,000个更改都可见,则必须将标签更新延迟人类可感知的数量。

10-08 20:22