0

暂时使用下面的代码为用户激活一些正在进行的操作指示(将下载一些文件......如果花费的时间超过一秒钟,我会显示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。

有没有更好的解决方案或者代码有什么问题?

编辑进度块和完成块在垫子上但在电话上被调用?!

4

0 回答 0