gpt4 book ai didi

ios - 使用来自 url 的 uitableview 缓存 UIImage

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:18 25 4
gpt4 key购买 nike

我有一个 uitableview ,自定义单元格包含两个 UImage。 Logo 图像取自在线网站,这就是需要缓存图像的原因。加载图像到现在是这样的:

 NSURL * imageURL = [NSURL URLWithString:[arra1 objectAtIndex:indexPath.row / 2]];
NSData * imageData = [NSData dataWithContentsOfURL:imageURL];

NSURL * imageURL2 = [NSURL URLWithString:[arra2 objectAtIndex:indexPath.row / 2]];
NSData * imageData2 = [NSData dataWithContentsOfURL:imageURL2];

cell.ima1.image = [UIImage imageWithData:imageData];
cell.ima2.image2 = [UIImage imageWithData:imageData2];

我从搜索中了解到,dataWithContentsOfURL 不是异步的,滚动时会花费很多时间。我尝试了几种方法,但我似乎无法找到正确的方法。这是我第一次缓存 UIImages ,我非常感谢详细的实现解释,这样我就可以在完成工作之外学习。非常感谢

最佳答案

我使用这个库,非常完美

你只需要 #import <SDWebImage/UIImageView+WebCache.h>添加到您的项目中,您还可以使用以下代码定义下载图像时的占位符:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:MyIdentifier] autorelease];
}

// Here we use the new provided setImageWithURL: method to load the web image
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

cell.textLabel.text = @"My Text";
return cell;
}

它还会缓存下载的图像并为您提供出色的性能。

希望对您有所帮助!

关于ios - 使用来自 url 的 uitableview 缓存 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23215722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com