我正在使用 NSCoding 来保存和恢复我的视图控制器。但是,每次推送或弹出视图控制器时,我都会将导航堆栈 + 视图控制器保存到磁盘。
这不节能,还有更好的方法。
想想NSUserDefaults
。它将更改保存在内存中的某处(如果按原样重复调用,只需覆盖),当synchronize
调用该方法时,它将它们写入磁盘。这是真正做到的,并且超级节能。
那么我可以实现这样的事情吗?每次调用将更改保存在内存中的某处以及synchronize/writeToDisk
调用方法以清除内存缓存并将其写入磁盘时。任何想法将不胜感激!
我的想法是使用NSCache
, 和 in application:willResignActive
orapplication:willTerminate
获取缓存中的对象并将其写入磁盘。
非常感谢!