所以我有代码在前台更改tableView的单元格图像(在后台下载图像后):
dispatch_queue_t background = dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(background, ^{
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://whatever.jpg"]]];
dispatch_queue_t foreground = dispatch_get_main_queue();
dispatch_async(foreground, ^{
cell.imageView.image = image;
});
});
现在我知道代码工作正常,因为当我委托远离tableview并返回时它会加载。如果我在设置imageView的同时将cell.textLabel.text设置为某些内容,它也会工作(自动加载),但由于某种原因,只是尝试使用块更改单元格图像不起作用。 / p>
如果它们没有阻挡它也会起作用,但我不想因为延迟而这样做。
所有帮助表示赞赏:)
答案 0 :(得分:2)
尝试添加[cell.imageView setNeedsLayout:YES]
,除此之外,我无法看到您的代码无法正常工作,我在其中一个应用中使用的代码完全相同,而且工作正常。
答案 1 :(得分:1)
块完成时使用[tableview reloadData];
。