博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSCache使用
阅读量:5163 次
发布时间:2019-06-13

本文共 1312 字,大约阅读时间需要 4 分钟。

 

苹果官方的解释

An NSCache object is a mutable collection that stores key-value pairs, similar to an  object. The NSCache class provides a programmatic interface to adding and removing objects and setting eviction policies based on the total cost and number of objects in the cache.(NSCache是系统提供的一种类似于集合(NSMutableDictionary)的缓存)

 

NSCache objects differ from other mutable collections in a few ways:

  • The NSCache class incorporates various auto-eviction policies, which ensure that a cache doesn’t use too much of the system’s memory. If memory is needed by other applications, these policies remove some items from the cache, minimizing its memory footprint.(大意: NSCache具有自动删除的功能,以减少系统占用的内存)

  • You can add, remove, and query items in the cache from different threads without having to lock the cache yourself. (大意:NSCache是线程安全的,不需要加线程锁)

  • Unlike an  object, a cache does not copy the key objects that are put into it.(键对象不会像 NSMutableDictionary 中那样被复制。(键不需要实现 NSCopying 协议)。)

NSCache的属性以及方法介绍

@property NSUInteger totalCostLimit; //缓存的容量

@property NSUInteger countLimit;//缓存的个数

@property BOOL evictsObjectsWithDiscardedContent; //标识缓存是否自动舍弃那些内存已经被丢弃的对象(discardable-content object)默认是YES

 

delegate

//当要清理对象的时候调用

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

 

demo

 

 

 

 

 

 

 

  

 

转载于:https://www.cnblogs.com/fangshufeng/p/6132275.html

你可能感兴趣的文章
canvas
查看>>
Balanced Binary Tree
查看>>
java学习------环境安装与配置
查看>>
日期时间函数
查看>>
Testing from Eclipse with ADT 翻译
查看>>
五句话搞定JavaScript作用域(ES5)
查看>>
UVA1602
查看>>
清理系统垃圾代码 李德鹏
查看>>
$_SERVER 等超全局数组的用法 $_COOKIE $_GET $_SESSION
查看>>
20155308 加分题-mybash的实现(第五周)
查看>>
C#调用R语言
查看>>
nodeJs是什么
查看>>
Oracle数据库sys和system用户的默认密码及如何修改密码
查看>>
网络I/O模型--06异步I/O
查看>>
Individual Project - Word frequency program - Multi Thread And Optimization
查看>>
hdu 4960 数列合并
查看>>
IP通信基础 4月17日
查看>>
python学习之字符串常用方法
查看>>
jquery1.7.2的源码分析(二)
查看>>
JavaScript自学代码--(三)
查看>>