暂时使用下面的代码为用户激活一些正在进行的操作指示(想下载一些文件......如果需要的时间超过一秒钟,我会显示UIActivityIndicatorView
和`UIProgressView。问题是因为某些原因它适用于iPhone,但在iPad上不稳定。特别是当时间接近极限时。
__block BOOL hasDownloads = YES;
__weak typeof(self) weakSelf = self;
double delayInSeconds = 1.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
if (hasDownloads) {
[weakSelf progressInformationShow:YES];
}
});
在该代码之后,我在后台线程中使用完成处理程序启动文件下载。完成处理程序检查剩余的文件下载,并在上次下载完成时将hasDownloads标志设置为NO。
是否有更好的解决方案或代码错误?
EDIT 在垫上但在电话上调用了进度或完成块?!