【发布时间】:2012-01-03 02:43:03
【问题描述】:
我希望屏幕显示以下示例代码每次迭代的数字?? 无论是否使用暂停,此代码都会显示最后一次迭代次数...
for(int i = 0; i<10; i++){
[lbl setText:[NSString stringWithFormat:@"%d", i]];
}
我在一个 while 循环中通过 TCP 套接字进行了更新...只有最后一个更新被写入屏幕...而且速度很慢,所以我应该看到所有更新。
【问题讨论】:
-
迭代速度可能太快,您无法看到更改。
-
您期待什么样的行为?像数到 10 需要 10 秒?
-
这是一个例子...我可以在这里暂停一下...没有区别
-
请您再澄清一点好吗?另外,这是否发生在主线程上? UI 元素的所有更新都必须在主线程上进行。
-
问题是直到下一个运行循环开始时才真正对 UI 元素进行更新,直到您执行的代码完成。所以你可以随心所欲地更新文本属性,但它只会取最后一个值,除非你使用 NSTimer 或 dispatch_after。如果您正在寻找从 0 到 10 “闪烁”的快速增加的标签,请使用以下解决方案,但时间间隔要小。
标签: objective-c