我正在编写一个iPhone应用程序,并且在某个事件,比如用户赢得游戏时,我想在启动后立即将应用程序重置回其初始状态。例如,再次执行viewDidLoad()等。在Xcode和Objective C中有一个简单的方法吗?谢谢。
答案 0 :(得分:3)
您负责应用的状态 - 如果您知道初始设置是什么,您应该能够将所有内容设置回该状态。没有简单的[UIApplication reset]
方法,但有一些技术可以使工作更轻松:
如果要重置应用程序,请发布通知,并确保可能需要自行重置的任何对象(例如视图控制器)监听该通知。
将初始化代码移动到其他方法,然后从-init
方法和重置通知处理程序中调用它。
您可以通过将视图属性设置为nil来使视图控制器重新加载其视图。下次访问该属性时,将调用-loadView
,然后将加载相关的.xib或创建必要的视图。
在许多情况下,您可以将应用的数据模型重置为初始状态。应用中的视图通常应反映数据模型的状态,因此清除数据也会导致视图恢复到初始状态。
考虑一下为什么你真的需要这个。如果您在某处“重置为出厂默认设置”按钮可能有意义,但这也可能表明需要更多设计。为什么用户不能只选择所有数据并将其删除?您持有哪种状态,用户可能希望以这种方式重置?