目前,我正在通过调用方法从 Web 服务器下载数据fetchProducts
。这是在另一个单独的线程中完成的。当我在上述方法中成功下载了 50 个项目时,我通过方法调用post
向. 请注意,这是另一个选择器。现在,当收到通知时,我设置了 my 的属性和一个告诉进度的标签。下面是我在 UI 中进行此更改的代码。[NSNotification defaultCenter]
postNotificationName: object:
Observer
Observer
ViewController
updateProductsBeingDownloadedCount:
Observer
progressView
dispatch_async(dispatch_get_main_queue(), ^{
if ([notif.name isEqualToString:@"DownloadingProducts"]) {
[self.progressBar setProgress:self.progress animated:YES];
NSLog(@"SetupStore: progress bar value is %.0f", self.progressBar.progress);
self.progressLabel.text = [NSString stringWithFormat:@"Downloading %.0f%% done...", self.progress * 100];
NSLog(@"SetupStore: progress label value is %@", self.progressLabel.text);
[self.view reloadInputViews];
}
});
这个想法是progressView
在下载更多项目时同时移动,直到完成。在我的情况下,progressView
的动画将在项目已经下载后立即开始,因此会延迟。请告诉我这一点。