首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何遍历NSCache键

如何遍历NSCache键
EN

Stack Overflow用户
提问于 2013-03-05 07:41:15
回答 1查看 5.2K关注 0票数 9

我需要做一个像NSCache这样的字典,它是线程安全的,用来保存cahce。但是,有时我需要刷新Cache的内容。NSCache不提供遍历其键的方法。这里的替代方案是什么?具有同步功能的NSMutableDictionary?

EN

回答 1

Stack Overflow用户

发布于 2018-09-10 20:39:25

NSCache没有这样的接口。因此,您应该使用NSMutaleDictionary或NSMapTable实现自己的缓存。其主要思想是跟踪添加对象的顺序,并在超过countLimit时删除较旧的对象。这可以使用一些按添加顺序存储关键字的有序结构来完成,例如NSMutableArray。此外,您还应该跟踪内存警告并清理缓存。

为了线程安全,你可以使用任何你喜欢的锁(@synchronized,NSLock等)。而且你绝对应该从可变存储的副本中获取keyEnumerator和objectEnumerator。

您可以查看具有遍历键和对象能力的线程安全实现:VSCache

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15213261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档