我是NSCache的新手。
我有一个API调用,导致多个对象。如何在NSCache中存储这些对象,这样我就不需要再次调用API。
NSCache中可以存储多少数据。 是否存在将数据存储在NSCache中的特定限制。
请帮帮我。
答案 0 :(得分:11)
NSCache对象是类似于集合的容器或缓存 存储键值对,类似于NSDictionary类。
Here是Nick Zitzmann的好解释。
NSCache与NSMutableDictionary类似,区别在于:
1.保证是线程安全的 2.访问速度要慢得多 它可能会不时丢弃物体。您可以设置成本和限制,但不保证可以遵循它们 4.在CoreFoundation中没有任何免费的桥接。
5.您无法查询缓存中的对象数量 6.您无法枚举缓存。我只能建议使用NSCache存储您不关心的对象 关于他们是否被任意摧毁。如果对象不得 销毁,或者访问速度是一个问题,然后使用 相反,NSMutableDictionary。
答案 1 :(得分:1)
来自相关文档
NSCache有很多自动删除策略,可以确保它不会占用太多的系统内存。如果其他应用程序需要内存,系统会自动执行这些策略。调用时,这些策略会从缓存中删除一些项目,从而最大限度地减少其内存占用。