我在Documents目录中有一个UIImage
。
我想加载它并将其缓存在内存中。
要创建和缓存UIImage,我们应该使用+ (UIImage *)imageNamed:(NSString *)name
方法,但这种方法的问题是图像应该在应用程序包中。当我使用其他方法initWithContentsOfFile
时,......图像不会被缓存。
如何从文档目录加载UIImage
并缓存它?
答案 0 :(得分:1)
您可以向AppDelegate添加NSCache
,并使用以下方法:
- (UIImage *)cachedImageWithFilePath:(NSString *)path {
// first check for a hit in the cache
UIImage *cachedImage = [_imageCache objectForKey:path];
if (cachedImage)
return cachedImage;
// load the image from disk and add to the cache
UIImage *newImage = [[UIImage alloc] initWithContentsOfFile:path];
[_imageCache setObject:newImage forKey:path];
return newImage;
}
编辑:
的文章