保存viewController的最后一个状态

时间:2015-01-03 16:36:18

标签: ios uiviewcontroller segue resume savestate

我有2个viewControllers。其中一个是游戏屏幕,它有很多不同的变量,如标签,按钮,图像。另一个用于暂停菜单。当我暂停游戏并点击恢复按钮时,它会自然地调用第一个viewController的viewDidLoad。

我想在用户点按暂停按钮时保存游戏的最后状态。或者我想在用户点击恢复按钮时看到游戏的最后状态。如果有不同的解决方案,我不想使用nsuserdefault。希望我能解释我的问题。

最诚挚的问候, 塔哈

1 个答案:

答案 0 :(得分:1)

  

当我暂停游戏并点按继续按钮时,它会自然地调用第一个viewController的viewDidLoad

然后你做错了。没有理由为什么第一个视图控制器(带有游戏屏幕)应该仅仅因为你正在显示暂停菜单视图控制器而被拆除。你需要在这里重新思考你的架构。

例如,如果第一个视图控制器呈现第二个视图控制器,则会出现第二个视图控制器的视图,但第一个视图控制器没有被拆除。当第二个视图控制器再次消失(恢复)时,将调用第一个视图控制器viewWillAppear:viewDidAppear:,但 viewDidLoad。您的工作是组织您的任务,以便游戏暂停viewWillDisappear:并在viewDidAppear:上恢复,但显示的数据被拆除或重置。