序列化iPhone导航控件堆栈

时间:2011-06-08 04:53:46

标签: iphone serialization navigationcontroller

我们可以序列化iPhone导航控制器的堆栈以保存状态吗?是苹果允许的吗?

2 个答案:

答案 0 :(得分:1)

保存堆栈就像读取推送到导航控制器并将其序列化的控制器列表一样简单:

NSArray *myStack = [self.navigationController viewControllers]

我不记得Apple要求开发人员不做这样的事情的明确指导。

答案 1 :(得分:0)

你可以给我们更多提示,你为什么要这样做?这是否用于保存导航控制器中的用户选择?如果我是你,我会通过

保存班级名称
[[myControllerObj class] description]

并将其保存在NSUserDefault之类的某个地方,稍后如果你想再将其推送到堆栈然后你需要

NSString* className = @"MyControllerClass";
MyControllerClass* obj = (MyControllerClass*) [[NSClassFromString(className) alloc];
[myNavigation pushViewController: obj];

希望帮助

:)