我们有一个委托方法,将在一秒钟内调用大约20次。在委托方法中,我们正在更新我们的UILabel,它表示计数器,如下面提到的代码:
- (void) counterUpdated:(NSString *) value
{
lblCounter.text = [NSString stringWithString:value];
// [[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.5]];
// [lblCounter setNeedDisplay];
}
我在堆栈溢出中读到了类似的问题,我在那里实现了解决方案,并在更新[lblCounter setNeedDisplay];
后检查了保留[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.5]];
方法和lblCounter
,但是它没有按预期运行良好。
任何指针?
答案 0 :(得分:0)
尝试使用Grand Central Dispatch以在主线程中运行:
dispatch_async(dispatch_get_main_queue(), ^{
lblCounter.text = value;
});