一:NSCache 系統(tǒng)提供的類似于集合(NSMutableDictionary)的緩存嘱函,它與集合的不同:
1.NSCache具有自動刪除的功能撬呢,以較少系統(tǒng)占用的內(nèi)存
2.NSCache是線程安全的彻桃,不需要加線程鎖
3.鍵對象不會像NSMutableDictionary中那樣被復(fù)制捐友,鍵不需要實(shí)現(xiàn)NSCopying協(xié)議
二 ?屬性
@property NSUinteger totalCostLimit
設(shè)置緩存占用的內(nèi)存大小霎肯,并不是一個嚴(yán)格的限制,但總數(shù)超過了totalCostLimit設(shè)定的值蜀肘,系統(tǒng)會清除一部分緩存
@property NSUinteger countLimit 設(shè)置緩存對象的大小,這也不是一個嚴(yán)格的限制
- (id)objectForKey:(id)key;
-(void)setObject:(id)obj forKey:(id)Key cost:(NSUInter)g;
evictsObjectsWithDiscardedContent?
標(biāo)示緩存是否回收廢棄的內(nèi)容 默認(rèn)值是YES 稽屏,表示自動回收
三扮宠。代理
- (void)cache:(NSCache*)cache? willEvictObject:(id)obj;