所以我有代码来更改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;
});
});
现在我知道代码工作得很好,因为当我委托离开表视图并返回时,它会加载。如果我在设置imageView的同时将cell.textLabel.text设置为某个值,它也会起作用(自动加载(,但由于某种原因,仅仅尝试使用块更改单元格图像是不起作用的。
如果他们离开了街区,这也会起作用,但我不想因为延误而这么做。
感谢所有帮助:(
尝试添加[cell.imageView setNeedsLayout:YES]
,除此之外,我看不出你的代码是如何不工作的,我的一个应用程序中有完全相同的代码,它工作得很好。
块完成时使用[tableview reloadData];
。