iphone - 获取 NULL 缓存

标签 iphone objective-c ios

我正在 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");
    }
}

}

但是我每次都得到 nil 缓存。我可以在日志中看到下载过程。 为什么我的缓存为空?

最佳答案

您需要创建/初始化 NSCache对象,然后才能添加和反对它。您还需要使用 setObject:forKey: 添加对象

关于iphone - 获取 NULL 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11133071/

相关文章:

iphone - UITableViewCell 中的 UITextField

ios - AFNetworking - 如何在不使用键值对的情况下 PUT 和 POST 原始数据?

ios - NSNumber 与其 floatValue 不同

iphone - Cordova 2.1 cdvviewcontroller.h 丢失

android - 具有接受 ='image/*;capture=camera' 选项的 android phonegap 应用程序不支持输入类型文件

iphone - 创建一个新的 NSString 实例,其保留计数为 3

javascript - 如何在 Javascript 中显示 2^3

objective-c - Cocoa 中的可加载包

c# - 核心数据与 LINQ to SQL?

ios - 如何将嵌套的 json 字符串正确解析为正确的 json?