我正在尝试使用我的应用程序中的tableview显示图像和文本,对于懒惰图像下载,我正在使用NSBlockOperation和NSOPerationQueue进行图像下载。这样所有的图像请求都将被添加到队列中并同时启动下载的图像。如果您等待几分钟到所有图像下载,它在登陆该页面时工作正常。如果一旦进入此屏幕并返回上一屏幕,应用程序就会崩溃。我能理解问题是屏幕不再存在。帮我!我该如何解决这个问题?
感谢您的帮助!!
Sri
答案 0 :(得分:1)
答案 1 :(得分:0)
请参阅Apple推荐的延迟图像加载
http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html
答案 2 :(得分:0)
解决方案正在使用此库,并且不需要您设置下载它,库自行处理 - SDWebImage
您只需要#import <SDWebImage/UIImageView+WebCache.h>
到项目中,并且只需使用以下代码即可在下载图像时定义占位符:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier;
CustomCell *cell = [tableview dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
MyObject *object = (MyObject *)[self.list.array objectAtIndex:indexPath.row];
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
return cell;
}
它还可以缓存下载的图像并为您提供出色的性能。