什么是使用UserDefaults保存数据的适当事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是使用UserDefaults保存数据的适当事件?相关的知识,希望对你有一定的参考价值。

我是ios新手。我有一个视图控制器和一些数据对象。我想在视图控制器消失之前将数据保存到UserDefaults。在android中,我使用了“ On stop”事件,依此类推。 ios中适当的事件是什么?

我曾考虑过在每次更改时保存数据(didSet),但是我的数据是由50-100个元素组成的数组,因此,每次更改时都保存它不是一个好主意。另一方面,我希望无论如何都要保存我的数据-如果应用程序被销毁等等。

答案

您可以在代码中使用此功能

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(true)
    UserDefaults.standard.set(true, forKey: "example")
}

如果应用将终止:例如,用户关闭应用在AppDelegate

中使用此功能
func applicationWillTerminate(_ application: UIApplication) {
     bgTask = application.beginBackgroundTask(withName:"Flink_logOut", expirationHandler: {() -> Void in
         // Do something to stop our background task or the app will be killed
     }
     // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
另一答案

您需要在视图控制器中重写此功能

override func viewDidDisappear(_ animated: Bool) {
// save data here
}

以上是关于什么是使用UserDefaults保存数据的适当事件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个 UITextView 中的数据保存到 UserDefaults

使用 UserDefaults 的最佳方法

使用 struct id 将收藏夹保存到 UserDefaults

SwiftUI:如何使用 UserDefaults 保存选择器数据?

在 Userdefaults 中保存状态

swift 使用UserDefaults保存数据