gpt4 book ai didi

ios - 如何在缓存中存储图像数据

转载 作者:行者123 更新时间:2023-11-29 02:50:26 25 4
gpt4 key购买 nike

我有一个来自 url 的字典存储图像的可变数组。那么如何将图像存储在应用程序缓存中,并且我可以在没有互联网连接时查看图像。

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString * CellIndentifier=@"CustomCell";
CustomCell *cell = (CustomCell*)[collectionView dequeueReusableCellWithReuseIdentifier:CellIndentifier forIndexPath:indexPath];
NSDictionary *dictVideo = [self.videoList objectAtIndex:indexPath.row];
[cell.indicator startAnimating];
//set title
NSString *titleVideo = [dictVideo objectForKey:@"Title"];
[cell.myLabel setText:titleVideo];
// set image url
NSString *urlVideo = [dictVideo objectForKey:@"Url"];
NSURL *url = [NSURL URLWithString:urlVideo];
cell.imageView.image = nil;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage * img = [[UIImage alloc]initWithData:data];
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"%ld %@ %@",(long)indexPath.row,titleVideo,url);
[cell.imageView setImage: img];
[cell.indicator stopAnimating];
});
});
return cell;
}

最佳答案

你可以像 Umar Farooq 说的那样使用 SDWebImage 库,它支持 iOS 6 和 7然后你可以在你的 .m 文件中使用下面的代码

#import "UIImageView+WebCache.h"
UIImage *Noimg = [UIImage imageNamed:@"noimg.png"];
[cell.PlaceImg setImageWithURL:[NSURL URLWithString:strImgname] placeholderImage:Noimg];

这里的Noimg是占位图片,当图片所在位置找不到图片时,由库自动管理

关于ios - 如何在缓存中存储图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24602618/

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