UITableViewCell负载图像

UITableViewCell负载图像,uitableview,uiimage,Uitableview,Uiimage,我有16个本地存储的预渲染40x40 px图像,我想用作我的UITableViewCell图像。我可以使用[UIImage ImageName:]将它们显示得很好;但是我注意到这会减慢表视图的滚动 我已经浏览了apple的延迟加载等示例,了解到我需要在后台线程上或异步地执行此操作,但还没有找到本地图像的示例 有人能帮忙吗?对UITableView单元格进行子类化,并在该单元格中创建一个类似以下内容的新方法: - (void)setImage:(NSString *)imageName; [ce

我有16个本地存储的预渲染40x40 px图像,我想用作我的UITableViewCell图像。我可以使用[UIImage ImageName:]将它们显示得很好;但是我注意到这会减慢表视图的滚动

我已经浏览了apple的延迟加载等示例,了解到我需要在后台线程上或异步地执行此操作,但还没有找到本地图像的示例


有人能帮忙吗?

对UITableView单元格进行子类化,并在该单元格中创建一个类似以下内容的新方法:

- (void)setImage:(NSString *)imageName;
[cell setImage:nil];
[cell performSelector:@selector(setImage:) withObject:@"imageName" afterDelay:0];
然后从以前设置图像的位置,将其更改为执行以下操作:

- (void)setImage:(NSString *)imageName;
[cell setImage:nil];
[cell performSelector:@selector(setImage:) withObject:@"imageName" afterDelay:0];
将其更改为performSelector:withObject:afterDelay:意味着设置图像的代码在tableView滚动时不会执行。这将大大提高滚动性能,因为在滚动停止之前,它不会将图像设置到单元格中

<>但是你会注意到滚动时缺少图像,所以你可能想考虑在滚动时出现的图像位置的小占位符图像。

就我个人而言,我在代码中有条件地使用此方法。我检测UIDevice有多旧,如果它是旧一代设备,我会像这样延迟加载以提高滚动性能