NSCache 是一个容器类,类似于NSDIctionary,通过key-value 形式存储和查询值,用于临时存储对象。
注意一点它和NSDictionary区别就是,NSCache 中的key不必实现copy,NSDictionary中的key必须实现copy
NSCache中存储的对象也不必实现NSCoding协议,因为毕竟是临时存储,类似于内存缓存,程序退出后就被释放了。
NSCache
1.存储的数据,在遇到内存警告时候,缓存的数据会立即被清除,所以如果利用NSCache做本地存储,要注意这一点啊
2.Cache会强引用缓存的对象,注意对象的释放
3.缓存一个对象的时间要远远大于读取的时间,缓存的数据越大,写入缓存时间越长,缓存的数据越多,写入缓存的时间也越长(不过我们缓存的数据应该不会太大,这个可以不用考虑)
4.如果缓存设置超过了设置的最大值,则会清除旧的数据,保留最新缓存的数据
Objective-C中的缓存 - NSCache介绍 - 十五言
nshipster.cn/nscache/
CacheDemo