我试图更新“而循环”内的UILabel
但不改变UILabel
文本。我知道在主线程的当前运行循环结束时会像往常一样显示iOS
。但是,如何才能解决这个问题(在ftp.AsyncFinished功能是由外部奇尔卡特FTP模块提供):更新的UILabel在“while循环”
的数据每秒更新一次。我搜索了这个论坛和Apple的文档,但我无法弄清楚在主线程的“while循环”中更新UILabel
的正确方法。我可以使用什么而不是一个while循环,它允许主线程更新UILabel
。
while (ftp.AsyncFinished != YES) {
// here is the code getting data from the cilkat FTP module stored in PercentOfFile and MinutesRemaining
NSString *content =[[NSString alloc] initWithFormat:@"%.0f%% done%.0fmin left",PercentOfFile,MinutesRemaining ];
[LabelProgress setText:content];
}
http://stackoverflow.com/questions/6363828/updating-uilabel-in-the-middle-of-a-for-loop – Habib
@ Habbib.OSU注意'runMode:beforeDate:'方法是相当危险的。基于GCD,我为这个问题增加了一个更好的解决方案。 –