美文网首页
官方文档-NSCache

官方文档-NSCache

作者: Liberalism | 来源:发表于2017-02-22 15:58 被阅读37次

SDKs

iOS 4.0+
macOS 10.6+
tvOS 4.0+
watchOS 2.0+

NSCache对象是一个可变的集合,存储键值对,类似于NSDictionary对象。 NSCache类提供了一个编程接口,用于添加和删除对象以及基于缓存中对象的总成本和数量设置释放策略。

概览

NSCache对象在几个方面不同于其他可变集合

  • NSCache类包含各种自动释放缓存的策略,这些策略确保高速缓存不会占用太多的系统内存。 如果其他应用程序需要内存,这些策略会从高速缓存中删除一些项目,从而最大限度地减少其内存占用。

  • 您可以从不同的线程添加,删除和查询缓存中的项目,而无需自己锁定缓存。

  • NSMutableDictionary对象不同,缓存不会复制放入其中的Key值,无需实现NSCoping

通常使用NSCache对象临时存储具耗时的临时数据的对象。因为它们的值不必重新计算,所以重用这些对象可以提供性能优势。 而且如果内存紧张,则可以被丢弃。 如果被丢弃,它们的值必须在需要时重新计算。

具有可以在不使用时可以丢弃的子组件的对象可以采用NSDiscardableContent协议来提高缓存驱逐行为。 默认情况下,如果缓存中的NSDiscardableContent对象被丢弃,则会自动删除它们,但可以更改此自动删除策略。 如果一个NSDiscardableContent对象被放入缓存,缓存在它被删除时调用discardContentIfPossible

属性解读

1.name : 缓存的名称
2.countLimit : 缓存的最大条数
3.totalCostLimit : 缓存最大占用空间
4.evictsObjectsWithDiscardedContent :是否自动丢弃可以释放的数据
5.delegate :代理

方法解读


// 为特定的键值赋值
- setObject:forKey: 

// 设置缓存中指定键的值,并将键值对与指定的储存大小相关联。
- setObject:forKey:cost:

// 移除指定缓存
- removeObjectForKey:

// 移除全部缓存
removeAllObjects

相关文章

  • 官方文档-NSCache

    SDKs NSCache对象是一个可变的集合,存储键值对,类似于NSDictionary对象。 NSCache类提...

  • SDWebImage 详解

    SDWebImage 框架中使用的知识点整理 <1>.NSCache苹果官方文档中介绍NSCache是一种可变集合...

  • iOS官方文档 Foundation篇---NSCache

    NSCache 一个可变集合,用于临时存储,在资源不足时可能被清除的临时键值对;继承自NSObject;类似于NS...

  • 正确使用NSCache

    NSCache NSCache是专门用来进行缓存处理的 NSCache简单介绍 1-1.NSCache是苹果官方提...

  • 缓存-YYCache

    参考文档 NSCache NSCache 与 NSMutableDictionary 用法相似,但是线程安全的,不...

  • 了解NSCache的基本使用

    NSCache是专门用来进行缓存处理的, NSCache简单介绍:NSCache是苹果官方提供的缓存类,具体使用和...

  • NScache缓存类

    01.NSCache是专门用来进行缓存处理的, 02.NSCache简单介绍:2-1 NSCache是苹果官方提供...

  • NSCache

    NSCache NSCache是苹果官方提供的缓存类,它的用法和NSMutableDictionary非常类似. ...

  • NSCache

    在学习 SDWebImage 三方库的时候,看到图片缓存使用的 NSCache 这个类,查看官方文档,学习了下是如...

  • 系统框架--50:构建缓存时选用NSCache

    NSCache NSCache是苹果官方提供的缓存类,用法与NSMutableDictionary的用法很相似,在...

网友评论

      本文标题:官方文档-NSCache

      本文链接:https://www.haomeiwen.com/subject/vndmwttx.html