一: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;