iOS子线程更新UI到主线程的三种方法

今天做了一个离线下载的功能,需要在子线程获取到进度然后传到主线程去更新UI,

方法1,2,不好使,当下载结束了才去执行,因为实在内网环境非常的快, 如果是在外网环境就可以使用,我觉得这是苹果API的Bug,

最终使用了3,看清楚哦,是同步

dispatch_sync

// 1.NSThread[self performSelectorOnMainThread:@selector(updateUI) withObject:nil waitUntilDone:NO];

- (void)updateUI {

    // UI更新代码    self.alert.text = @"Thanks!";

}// 2.NSOperationQueue[[NSOperationQueue mainQueue] addOperationWithBlock:^{

    // UI更新代码    self.alert.text = @"Thanks!";

    }];// 3.GCDdispatch_sync(dispatch_get_main_queue(), ^{

  // UI更新代码  self.alert.text = @"Thanks!";

});

你可能感兴趣的:(iOS子线程更新UI到主线程的三种方法)