登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

关于GCD使用group异步加载图片的问题 [复制链接]

2017-8-22 11:38
panshuyan112 阅读:338 评论:3 赞:1
Tag:  

关于GCD使用group异步加载图片的问题


  • 我的目的是:想给某一个ImageView添加一个转圈,单个ImageView循环异步调用sd_setImageWithURL进行图片的缓存,在所有的图片加载完成之后将转圈的视图隐藏。------但是效果不尽然:单张或者两张图片的时候dispatch_group_notify 会走,但是三张或者更多就不走了。(HELP求解)

我的代码如下:

dispatch_group_t group = dispatch_group_create();
        __block NSInteger successNum = 0;
        for (int i = 0; i < _PSY3D_ImageDataSource.count ; i++) {
            
            dispatch_group_enter(group);
            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
                [self.imageView sd_setImageWithURL:_PSY3D_ImageDataSource[i] placeholderImage:[UIImage imageNamed:@"u=1421326615,2887060665&fm=206&gp=0"] options:SDWebImageRefreshCached progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {
                    
                    dispatch_async(dispatch_get_main_queue(), ^{
                        _myHud.progress = (float)receivedSize/expectedSize;
                    });
                    
                    NSLog(@"sdjasfjkahfsa 加载进度:%ld 完成进度:%ld myHud.progress = %f",receivedSize,expectedSize,_myHud.progress);
                    
                } completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
                    dispatch_group_leave(group);
                    successNum++;
                    VBLog(@"和大家说快点回家啊收到捐款撒谎的接口撒谎的");
                }];
            });
            
        }
        dispatch_group_notify(group, dispatch_get_main_queue(), ^{
            VBLog(@"=======================%ld",successNum);
            if (successNum == _PSY3D_ImageDataSource.count) {
                _myHud.hidden = YES;
            }
        }); 

那么新的问题又来了,如果我能顺利的解决上面的问题,使用上面这种方法做,如果网络比较慢,进入界面后,我又退出来,但是请求已经发送了,结果还在占用CPU资源,如何解决呢?就是在退出界面的时候将所有的异步请求都取消掉??老司机带我飞

分享到:
我来说两句
facelist
您需要登录后才可以评论 登录 | 立即注册
所有评论(3)
panshuyan112 2017-8-31 10:08
怎么看呢您嘞?
回复
ccp_code4 2017-9-4 09:10
你这个group的用法 看不懂啊,貌似没有用到吧
回复
panshuyan112 2017-9-7 13:58
ccp_code4: 你这个group的用法 看不懂啊,貌似没有用到吧
用了的亲
回复
关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

返回顶部