我在 iOS 中使用 NSCache 我在 .h 文件中有以下代码用于缓存:
NSCache *_cache;
我正在将从 url 下载的图像添加到 .m 中的缓存中:
-(void)cacheFromURL:(NSURL*)url
{ [_cache setCountLimit:50];
UIImage* newImage = [_cache objectForKey:url.description];
if( !newImage )
{
NSError *err = nil;
if(url!=Nil)
{
newImage=[UIImage imageWithData:[NSData dataWithContentsOfURL:url options:0 error:&err]];
}
if( newImage )
{
[_cache setValue:newImage forKey:url.description];
}
else
{
NSLog( @"UIImageView:LoadImage Failed: %@", err );
}
if(_cache==Nil)
{
NSLog(@"nil");
}
else
{
NSLog(@"cache is not nil");
}
}
}
但我每次都得到零缓存。我可以在日志中看到下载过程。为什么我得到空缓存?