我有2个viewControllers。其中一个是游戏屏幕,它有很多不同的变量,如标签,按钮,图像。另一个用于暂停菜单。当我暂停游戏并点击恢复按钮时,它会自然地调用第一个viewController的viewDidLoad。
我想在用户点按暂停按钮时保存游戏的最后状态。或者我想在用户点击恢复按钮时看到游戏的最后状态。如果有不同的解决方案,我不想使用nsuserdefault。希望我能解释我的问题。
最诚挚的问候, 塔哈
答案 0 :(得分:1)
当我暂停游戏并点按继续按钮时,它会自然地调用第一个viewController的
viewDidLoad
然后你做错了。没有理由为什么第一个视图控制器(带有游戏屏幕)应该仅仅因为你正在显示暂停菜单视图控制器而被拆除。你需要在这里重新思考你的架构。
例如,如果第一个视图控制器呈现第二个视图控制器,则会出现第二个视图控制器的视图,但第一个视图控制器没有被拆除。当第二个视图控制器再次消失(恢复)时,将调用第一个视图控制器viewWillAppear:
和viewDidAppear:
,但不 viewDidLoad
。您的工作是组织您的任务,以便游戏暂停viewWillDisappear:
并在viewDidAppear:
上恢复,但显示的数据不被拆除或重置。