2017-02-25 61 views

回答

1

要将数据永久存储在设备上,您有几个选项,例如, Core Data,.plist files,或者像你说的UserDefaults。如果您的应用程序不需要其他任何数据库/持久性,但仅用于存储少量数据(如少数通知),那么使用UserDefaults可能是一个不错的选择,因为它非常易于使用。请记住,UserDefaults仅适用于少量数据。在这里存储太多会对性能产生不利影响,尤其是发布时间。

我为你描述(数据存储在UserDefaults,但如果应用程序被终止丢失)的bug的猜测是,你不要在你的应用程序委托的applicationWillResignActive:方法至少调用UserDefaults.standard.synchronize()设置数据后,或。因为只有这个调用才能确保数据实际写入磁盘。

如果我猜错了:请提供您尝试的代码。

相关问题