1

我正在使用 NSCoding 来保存和恢复我的视图控制器。但是,每次推送或弹出视图控制器时,我都会将导航堆栈 + 视图控制器保存到磁盘。

这不节能,还有更好的方法。

想想NSUserDefaults。它将更改保存在内存中的某处(如果按原样重复调用,只需覆盖),当synchronize调用该方法时,它将它们写入磁盘。这是真正做到的,并且超级节能。

那么我可以实现这样的事情吗?每次调用将更改保存在内存中的某处以及synchronize/writeToDisk调用方法以清除内存缓存并将其写入磁盘时。任何想法将不胜感激!

我的想法是使用NSCache, 和 in application:willResignActiveorapplication:willTerminate获取缓存中的对象并将其写入磁盘。

非常感谢!

4

0 回答 0