登录 立即注册
金钱:

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

查看: 165|回复: 7

如何使用GCD异步加载图片

[复制链接]

18

主题

1993

帖子

1718

金钱

iOS大神

Rank: 6Rank: 6

发表于 2017-9-1 12:22:19 | 显示全部楼层 |阅读模式

//访问网络

//NSAppTransportSecurity////NSAllowsArbitraryLoads//

使用GCD异步加载图片

第一步:定义属性 

@interface ViewController ()

 @property (nonatomic, strong) UIScrollView scrollView; @property (nonatomic, strong) UIImageView imageView; @end

@implementation ViewController

第二步: 初始化控件 

  • (void)loadView { 

 self.scrollView = [[UIScrollView alloc] initWithFrame:       [UIScreen mainScreen].bounds]; self.scrollView.backgroundColor = [UIColor redColor]; self.view = self.scrollView;

self.imageView = [[UIImageView alloc] init];

[self.scrollView addSubview:self.imageView];

}

(void)viewDidLoad { [super viewDidLoad];

第三步: 使用GCD异步下载网络图片

// 异步下载网络图片 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 

// 1. URL NSURL url = [NSURL URLWithString:@"http://g.hiphotos.baidu.com/image/pic/item/472309f790529822c4ac8ad0d5ca7bcb0a46d402.jpg"]; // 2. data NSData data = [NSData dataWithContentsOfURL:url];

 // 3. image UIImage *image = [UIImage imageWithData:data]; 

// 4. 主线程更新UI dispatch_sync(dispatch_get_main_queue(), ^{ self.imageView.image = image; [self.imageView sizeToFit];

self.scrollView.contentSize = image.size;

});

});

注意:异步加载网络图片的代码必须能敲出来,面试有可能笔试或机试,1期有同学机试遇到过。 需求: 从网络上下载图片,然后更新图片,用代码实现。 dispatch_async(dispatch_get_global_queue(0, 0), ^{ // 异步下载图片

dispatch_sync(dispatch_get_main_queue(), ^{

// 主线程更新UI

});

});

23

主题

2016

帖子

1150

金钱

iOS大神

Rank: 6Rank: 6

分享大神

发表于 2017-9-1 12:22:27 | 显示全部楼层
感谢大神~

0

主题

1986

帖子

-413

金钱

限制会员

发表于 2017-9-1 12:22:57 | 显示全部楼层
学习...学习...

3

主题

1978

帖子

246

金钱

攻城狮

Rank: 3Rank: 3

发表于 2017-9-1 12:24:44 | 显示全部楼层
相当不错,感谢无私分享精神!

18

主题

1999

帖子

1554

金钱

iOS大神

Rank: 6Rank: 6

发表于 2017-9-1 12:25:21 | 显示全部楼层
内容很好,棒棒哒

11

主题

1990

帖子

1004

金钱

iOS大神

Rank: 6Rank: 6

发表于 2017-9-1 12:26:39 | 显示全部楼层
不错不错,楼主辛苦了。。。

0

主题

134

帖子

5484

金钱

码皇

Rank: 8Rank: 8

QQ
发表于 2017-9-9 08:20:40 | 显示全部楼层
学习学习!
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条

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

快速回复 返回顶部 返回列表