保存 viewController 的最后状态

Save the last state of the viewController

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

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

此致, 塔哈

When i pause the game and tap the resume button, it calls the viewDidLoad of the first viewController naturally

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

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