iOS NSCache 内存缓存

  • NSCache 是内存缓存,可以暂时储存到内存,当程序退出时储存的内容就会消失
-(NSCache *)cache
{
    if (!_cache) {
        _cache = [[NSCache alloc] init];
        _cache.countLimit = 100;
        _cache.totalCostLimit = 5 * 1024 * 1024; // 5M
    }
    return _cache;
}
NSData *cachedData = [_cache objectForKey:@"REQUEST"];
    if (cachedData) {
        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:cachedData options:kNilOptions error:nil];
        NSLog(@"cachedData -%@",dict);
    } else {
        NSLog(@"暂无缓存");
        __weak typeof(self) weakSelf = self;
        NSURL *url = [NSURL URLWithString:@"https://weatherapi.market.xiaomi.com/wtr-v3/weather/all?latitude=110&longitude=112&isLocated=true&locationKey=weathercn%3A101010100&days=15&appKey=weather20151024&sign=zUFJoAR2ZVrDy1vF3D07&romVersion=7.2.16&appVersion=87&alpha=false&isGlobal=false&device=cancro&modDevice=&locale=zh_cn"];
        NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15.0];
        NSURLSession *session = [NSURLSession sharedSession];
        NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
            if (error) {
                NSLog(@"error - %@",error);
            } else {
                
                [weakSelf.cache setObject:data forKey:@"REQUEST"];
                NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
                NSLog(@"dict -%@",dict);
            }
        }];
        [task resume];
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,694评论 1 32
  • 你要知道的NSCache都在这里 转载请注明出处 http://www.jianshu.com/p/2392268...
    WWWWDotPNG阅读 13,958评论 13 97
  • 面向对象的三大特性:封装、继承、多态 OC内存管理 _strong 引用计数器来控制对象的生命周期。 _weak...
    运气不够技术凑阅读 1,231评论 0 10
  • ## iOS常用问题总结#### iOS基础知识回顾##### 1、为什么说Objective-C是一门动态的语言...
    蝉始鸣阅读 520评论 0 3
  • 最近比较忙碌公司检查的事项,在今天终于结束了。 因为工作上的原因对事不对人,人总是不愿意承认自己的错误,并且把责任...
    赵小妮_16be阅读 137评论 1 1

友情链接更多精彩内容