我UIImage
在 Documents 目录中有一个。我想加载它并将其缓存在内存中。
要创建和缓存 UIImage,我们应该使用+ (UIImage *)imageNamed:(NSString *)name
方法,但是这种方法的问题是图像应该在应用程序包中。当我使用其他方法时initWithContentsOfFile
,...图像未缓存。
如何UIImage
从文档目录加载并缓存它?
我UIImage
在 Documents 目录中有一个。我想加载它并将其缓存在内存中。
要创建和缓存 UIImage,我们应该使用+ (UIImage *)imageNamed:(NSString *)name
方法,但是这种方法的问题是图像应该在应用程序包中。当我使用其他方法时initWithContentsOfFile
,...图像未缓存。
如何UIImage
从文档目录加载并缓存它?
您可以将一个添加NSCache
到您的 AppDelegate,并使用如下方法:
- (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;
}
编辑: