【发布时间】:2016-10-10 00:27:56
【问题描述】:
我创建了一个 saveState() 方法,它使用 UserDefaults 在我的应用程序的某些部分保存某些设置。当我退出应用程序并返回时它工作正常,但如果我真的关闭我的(iOS)手机,当我再次启动应用程序时,设置不会保存。除了在代码中调用 saveState() 方法的那些地方,我还在三个 AppDelegate 函数中调用了 saveState():applicationWillResignActive、applicationDidEnterBackground 和 applicationWillTerminate。我在 viewDidLoad 中有一个 loadState() 函数,因此任何保存的信息都会在那时加载。有谁知道我没有做什么:手机关机时保存/恢复设置?
【问题讨论】:
-
而不是依赖特定事件来触发保存(并且没有事件让您的应用知道手机正在关闭),您应该在数据发生变化时保存数据,然后它不会不管发生什么
-
感谢 Paulw11!所以,我想你是说如果我在我的应用程序的特定(更改)点使用 Userdefaults,那么我不需要在 AppDelegate 中额外保存状态——它已经完成了。对吗?
-
没错。节省没有真正的成本,因此您可以在更改数据时随时这样做
标签: ios appdelegate savestate