【问题标题】:iPhone- How to save the view controller object itself?iPhone-如何保存视图控制器对象本身?
【发布时间】:2009-11-20 07:31:01
【问题描述】:
我想保存我的视图控制器的状态。搜索了一下,发现应该通过保存状态变量来保存状态。
但我有兴趣保存视图控制器对象本身。有什么方法可以保存视图控制器对象本身,这样当我重新启动应用程序时,我也会看到与关闭应用程序之前相同的视图状态。否则我必须自己达到那个状态,这不能完全解决目的,因为(显示的 admob 广告)之类的东西无法恢复。
如果我在某些地方错了或错过了什么,请指导我。
【问题讨论】:
标签:
iphone
objective-c
cocoa-touch
savestate
【解决方案1】:
考虑在所有要持久化的类中实现 NSCoding。如果你正确地实现了它,然后在你的应用程序终止和启动时使用 NSKeyedArchiver/NSKeyedUnarchiver 之类的东西在根节点(如标签栏控制器或导航栏控制器)编码你的对象图,你可以保存和恢复状态轻松查看控制器。 UIViewController 和 UIView 默认实现,所以你只需要重写 encodeWithCoder: 和 decodeWithCoder: 方法,调用super,保存你需要的状态变量。