构建缓存时为啥选择NSCache而不是NSDictonary

  • NSCache提供优雅的自动删除功能。
    当资源将要耗尽时,NSCache可以自动删除缓存。如果采用字典,就要自己编写挂钩,在系统发出“低内存”的警告时,手动删减缓存。
  • NSCache不会拷贝键,而是保留。
    因为很多时候键都是由不支持拷贝操作的对象来充当的。但是如果使用NSDictonary来实现这个操作(不拷贝,保留)是非常复杂的。
  • NSCache是线程安全的。
  • 可以给NSCache对象设置上限,用以限制缓存中的对象个数以及“总成本”。

你可能感兴趣的:(构建缓存时为啥选择NSCache而不是NSDictonary)