1

我想使用 NSCoding 保存/加载我的类的实例。每个类都应该有一个单独的缓存时间/生存时间。当应用程序启动时,如果我的类的实例未过期或正常创建,我希望从缓存中加载它。

这个问题一定已经解决了数百次了......

有没有一个很好的框架来做这件事,还是我应该自己动手?

4

2 回答 2

2

也许您可以尝试NSCache NSCache 不符合 NSCoding 协议,因此您无法归档/取消归档缓存。

NSCache 对象是一个类似于集合的容器或缓存,用于存储键值对,类似于 NSDictionary 类。开发人员经常合并缓存来临时存储具有创建成本高昂的瞬态数据的对象。重用这些对象可以提供性能优势,因为不必重新计算它们的值。但是,这些对象对应用程序并不重要,如果内存紧张,可以将其丢弃。如果丢弃,则必须在需要时重新计算它们的值。

于 2012-04-18T11:39:26.643 回答
1

需要明确的是,您可以使用保存或加载对象,而不是NSCoding

我不知道有一个框架可以做到这一点。您可以将文件修改时间用作缓存时间,也可以将其保存在单独的数据库中。如果不是太多不同的类,您可以将NSUserDefaults其用作单独的数据库。每个班级都将被编码以知道自己的生存时间。

于 2012-04-18T11:53:01.743 回答