NSCache

你使用它与使用 NSMutableDictionary 的方式相同。不同之处在于,当 NSCache 检测到过大的内存压力时(即它缓存了太多的值),它会释放一些这些值以腾出空间。

如果你可以在运行时重新创建这些值(通过从 Internet 下载,通过计算,无论如何),NSCache 可能会满足你的需求。如果无法重新创建数据(例如,用户输入,时间敏感等),则不应将其存储在 NSCache 中,因为它会在那里被销毁。