博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uiimageview 异步加载图片
阅读量:5985 次
发布时间:2019-06-20

本文共 2116 字,大约阅读时间需要 7 分钟。

    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){

        

        NSURL *url = [NSURL URLWithString: detailedActivity.pictures];

        NSData *data = [[NSData alloc] initWithContentsOfURL:url];

        

        dispatch_async(dispatch_get_main_queue(), ^(void){

            

            self.activityImageView.image = [[UIImage alloc]initWithData:data];

        });

    });

 

 

 

 

 

本文转载至 http://stackoverflow.com/questions/16663618/async-image-loading-from-url-inside-a-uitableview-cell-image-changes-to-wrong

51
34

I've written two ways to async load pictures inside my UITableView cell. In both cases the image will load fine but when I'll scroll the table the images will change a few times until the scroll will end and the image will go back to the right image. I have no idea why this is happening.

#define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) - (void)viewDidLoad { [super viewDidLoad]; dispatch_async(kBgQueue, ^{ NSData* data = [NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://myurl.com/getMovies.php"]]; [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; }); } -(void)fetchedData:(NSData *)data { NSError* error; myJson = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; [_myTableView reloadData]; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ // Return the number of rows in the section. // Usually the number of items in your array (the one that holds your list) NSLog(@"myJson count: %d",[myJson count]); return [myJson count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ myCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; if (cell == nil) { cell = [[myCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]; } dispatch_async(kBgQueue, ^{ NSData *imgData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://myurl.com/%@.jpg",[[
你可能感兴趣的文章
mysql内置函数
查看>>
将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)
查看>>
Xmemcached使用
查看>>
Oracle工作笔记
查看>>
我的友情链接
查看>>
谈谈Scala的并发模型
查看>>
自动化运维之Cobbler自动化部署安装操作系统
查看>>
JS生成UUID
查看>>
分布式文件系统fastDFS部署
查看>>
我的友情链接
查看>>
SUSE开启ssh服务
查看>>
spring表达式语言(SpEL)简述及Hello World示例
查看>>
我的yum本地源配置
查看>>
Linux基础篇之SELinux
查看>>
成功的培训
查看>>
IOS开发之UITableView1
查看>>
关于ARM的22个常用概念介绍
查看>>
Java学习笔记(29)——Java集合01之总体框架
查看>>
数据库权限设计
查看>>
.net 事件传递
查看>>