我正在尝试从服务器下载一些缩略图,然后在每个单元格中显示它们:
// displaying image...
dictionary = [newsFeed objectAtIndex:indexPath.row];
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[dictionary objectForKey:@"image"]]]];
cell.imageView.image = [image imageScaledToSize:CGSizeMake(55, 55)];
但是下载显示图片后,表格 View 滚动缓慢!
最佳答案
主要问题是 [NSData dataWithContentsOfURL:]
方法是一个同步 请求。它会阻塞正在运行的线程,直到请求完成。
如果你在主线程上运行它,你应该避免这种类型的交互。该线程将被卡住,用户将感到失望;)
对此您有很多解决方案。一个简单的方法是使用第三个库,如 SDWebImage或 AFNetworking .
两者都有围绕 UIImageView
类的类别,允许以简单的方式使用它们。例如,使用 UIImageView+AFNetworking
你应该像下面这样:
[cell.imageView setImageWithURL:yourURL placeholderImage:yourPlaceholderImage];
关于ios - 下载单元格图像后 UITableView 滚动缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530987/