首先,这不是重复的。我看到了一些相同的问题,但它们对我没有帮助,因为我的问题略有不同。
使用以下代码,我在我的项目中异步下载图像。
{
NSURL *imageURL = [NSURL URLWithString:imageURLString];
[self downloadThumbnails:imageURL];
}
- (void) downloadThumbnails:(NSURL *)finalUrl
{
dispatch_group_async(((RSSChannel *)self.parentParserDelegate).imageDownloadGroup, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *tempData = [NSData dataWithContentsOfURL:finalUrl];
dispatch_async(dispatch_get_main_queue(), ^{
thumbnail = [UIImage imageWithData:tempData];
});
});
}
由于程序的逻辑,我在 tableview 控制器以外的文件中使用了上面的代码,它在从 web 服务获取数据后显示所有数据。
问题:屏幕上的图像在我滚动之前不会显示。首先刷新离屏图像。我能做些什么来解决我的问题。
Apple 的延迟加载项目正在使用 scrollViewDidEndDragging 和 scrollViewDidEndDecelerating 来加载图像,但该项目太大而无法理解,而且我的代码位于 tableview 控制器以外的文件中。
注意:请不要推荐第三方库,如 SDWebImage 等。
更新:由于大多数人无法解决问题,我必须澄清这个问题与下载、缓存和重新加载 tableview 中的图像无关。所以请不要推荐第三方库。问题是图像仅在用户滚动表格视图而不是加载屏幕视图时显示。
提前致谢