我想使用线程更新进度条,如此处所示。我正在努力实现这个结果:
- 进度条变得可见
- 使用循环更新进度条
- 进度条消失
这是我的代码:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
progressBar.hidden = NO;
for (NSInteger i = 1; i <= progressBar.maxValue; i += 20){
[NSThread sleepForTimeInterval:1.0];
dispatch_async(dispatch_get_main_queue(), ^{
[progressBar setDoubleValue:(double)i];
[progressBar displayIfNeeded];
});
}
progressBar.hidden = YES;
});
进度条在我的 ViewController.h int 中以这种方式定义:
NSProgressIndicator *progressBar
问题是在循环结束时该栏没有被删除,我不知道这样是否progressBar.hidden = YES;
有效。
有人能帮我吗?代码片段将非常有用,特别是如果它后面有解释。