我正在尝试创建一个应用程序来处理来自网络的各种图像,并旨在将它们缓存到 iPhone 上以供离线使用。我目前正在使用的代码是:
NSMutableDictionary *Cache;
- (UIImage *)CachedImage: (NSString*)url {
UIImage *image = [Cache objectForKey:url];
if (image == nil) {
image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];
[Cache setObject:image forKey:url];
//NSLog (@"Stored");
return image;
} else {
//NSLog (@"Taken");
return image;
} }
我调用该函数并使用下面的代码条将图像放入 ImageView 中。
[self.imageView setImage:[self CachedImage:url]]; // Change url to desired URL.
使用 NSLog,我发现的问题是代码实际上并没有存储该值,因为该值始终读取为零。为什么会这样?还有其他存储图像以供离线使用的方法吗?提前致谢。
-贡