(www.vn99.net) 使用多线程时,如何更新MBProgressHUD提示进度?
威尼斯人娱乐城
威尼斯人娱乐城
当前位置 : 威尼斯人娱乐城 > www.vn99.net

(www.vn99.net) 使用多线程时,如何更新MBProgressHUD提示进度?

我的多线程如:

asset = self.travelService.travelEditModel.assets[i];
            
PHCachingImageManager *imageManager = [[PHCachingImageManager alloc] init];
            
PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init];
            options.networkAccessAllowed = YES;
            
[imageManager requestImageDataForAsset:asset options:options resultHandler:^NSData * _Nullable imageData, NSString * _Nullable dataUTI, UIImageOrientation orientation, NSDictionary * _Nullable info {
                
                sleep1;
                //我想在这里执行更新进度条的代码。但是无效。
}];

我想更新线程提示 执行到 50% 这样。如何做呢?


我并不是下载照片提示进度。我是从相册里面拿照片,比如30张,然后处理到第几张,给主线程提示进度。

首先代码格式不整齐,差评!

如果你想要在 resultHandler 中操作 MBProgressHUD 的话,需要跳回主线程执行。

进度获取有一种方式是:预先获取图片总大小,再根据已下载数据流大小做计算得出进度百分比。
当然还有其它方式,也取决于你是用的库。

用afnetworking可以获取到下载或上传进度,然后再在主线程里更新hud的progress。

可以通过一个Block/闭包来实现更新界面

栏目列表

广告位

威尼斯人娱乐城