我正在构建一个活动跟踪应用。应用功能正在跟踪您为活动花费的时间。用户按下START按钮后,我初始化NSTimer,在CoreData中创建一个对象并更改某些按钮,标签的状态......
问题是如何在用户按Home键后恢复应用状态。我可以恢复应用程序状态,以防用户从后台模式重新打开它而不会终止。但是我无法恢复,以防它在后台终止。
你们可以建议我解决这个问题吗?我是否可以保留应用程序不会被终止或更好的解决方案?
提前感谢!
答案 0 :(得分:0)
做得非常好是一个相当长的话题,但这个概念被称为State Restoration。在它的基本形式(这是您可能需要的全部)中,它实际上非常简单,如果您要求它,系统将自动为您完成大部分工作。一些指示:
NSTimer
来“计算”时间。这种方法不起作用。您可以使用NSTimer
更新UI,但是您应该通过从当前时间减去开始时间来确定已经过了多少时间。鉴于此,您无需在后台运行以跟踪时间段。
encodeRestorableStateWithCoder:
和decodeRestorableStateWithCoder:
,以跟踪您正在使用的对象。所有这些都在上面链接的国家保存和恢复文件中进行了解释。