我想存储oneSignal通知的标题和正文。我该怎么做?我尝试在UserDefaults中存储这些值,但是当应用程序终止时,总数据会丢失。如何存储和显示通知?
答案 0 :(得分:1)
要将数据持久存储在设备上,您有几种选择,例如: Core Data,.plist files,或者像你说的那样UserDefaults。如果你的应用程序不需要数据库/持久性来处理其他事情,但仅用于存储少量数据,例如一些通知,那么使用UserDefaults可能是一个不错的选择,因为它使用起来非常简单。请记住,UserDefaults仅适用于少量数据。在这里存储太多会对性能产生不良影响,尤其是启动时间。
我猜你所描述的错误(数据存储在UserDefaults中,但如果应用程序被终止则会丢失)是,您在设置数据后没有调用UserDefaults.standard.synchronize()
,或者至少在您的应用中委托的applicationWillResignActive:
方法。因为只有这个调用才能确保数据实际写入磁盘。
如果我猜错了:请提供您尝试过的代码。