2
我得到這個代碼問題的GCD和本地UI刷新
-(void)changeText
{
dispatch_queue_t gqueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0);
dispatch_async(gqueue, ^(void){
//simulate a network traffic delay
[NSThread sleepForTimeInterval:5];
NSLog(@"start executing");
self.mylabel.text = @"Yeah! Text Changed";
NSLog(@"stop exec");
});
}
問題是,它需要太多的時間來改變標籤文本比通常做。如果我使用主隊列,它會做瞬間,但用戶界面將會被阻塞,持續5秒。
什麼是使用GCD,這樣我可以在另一個線程下載的東西,我的UI不會被阻塞,並儘快完成我的工作,我的UI將會立即更改的正確方法?