Cell.imageView.image 在更改时不会自动加载



所以我有代码来更改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];

最新更新