NSCache

一:NSCache 系统提供的类似于集合(NSMutableDictionary)的缓存,它与集合的不同:

1.NSCache具有自动删除的功能,以较少系统占用的内存

2.NSCache是线程安全的,不需要加线程锁

3.键对象不会像NSMutableDictionary中那样被复制,键不需要实现NSCopying协议


二  属性

@property NSUinteger totalCostLimit

设置缓存占用的内存大小,并不是一个严格的限制,但总数超过了totalCostLimit设定的值,系统会清除一部分缓存

@property NSUinteger countLimit 设置缓存对象的大小,这也不是一个严格的限制

- (id)objectForKey:(id)key;


-(void)setObject:(id)obj forKey:(id)Key cost:(NSUInter)g;

evictsObjectsWithDiscardedContent 

标示缓存是否回收废弃的内容 默认值是YES ,表示自动回收

三。代理

- (void)cache:(NSCache*)cache  willEvictObject:(id)obj;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问题一:App重启后,NSCache中的东西还存在吗? 一听到缓存数据,我们脑海里立马浮现了《印象笔记》这样“理所...
    溪石iOS阅读 5,051评论 6 13
  • NSCache 专门用来做缓存处理的 objectForKey(和字典用法很像) 简介 NSCache是苹果官方提...
    彼岸的黑色曼陀罗阅读 510评论 0 0
  • 孙健会员阅读 312评论 0 0
  • 一、简介 1、NSCache是苹果官方提供的的缓存类,具体使用是和NSDictionary很相似的,在AFNetw...
    风轻鱼蛋阅读 410评论 0 0
  • 今天研究SDWebimage发现,里面使用了NSCache的一个方法setObject:forKey:cost:首...
    RealSlimAlan阅读 2,406评论 1 6