在循环中更新UILabel?

时间:2012-01-03 02:43:04

标签: objective-c

我希望屏幕显示以下示例代码的每次迭代的数字? 此代码显示最后一次迭代次数,无论使用暂停...

for(int i = 0; i<10; i++){
    [lbl setText:[NSString stringWithFormat:@"%d", i]];
}

我在while循环中遇到TCP套接字更新...只有最后一次更新被写入屏幕...而且速度很慢所以我应该看到所有更新。

1 个答案:

答案 0 :(得分:3)

您应该设置一个计时器来处理标签的更新。现在,整个循环发生在几分之一秒内。

NSTimer * aTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTimerLabel) userInfo:nil repeats:YES];

-(void)updateTimerLabel {
    static int i = 0;

    [lbl setText:[NSString stringWithFormat:@"%d", i++];
}

这样你的标签应该每秒更新一次。