Ios 使用UserDefaults保存数据的正确事件是什么?
我是ios新手。我有一个视图控制器和一些数据对象。我想在视图控制器消失之前将数据保存到UserDefaults。在安卓系统中,我使用了“On-stop”事件等等。ios中的正确事件是什么Ios 使用UserDefaults保存数据的正确事件是什么?,ios,swift,saving-data,userdefaults,Ios,Swift,Saving Data,Userdefaults,我是ios新手。我有一个视图控制器和一些数据对象。我想在视图控制器消失之前将数据保存到UserDefaults。在安卓系统中,我使用了“On-stop”事件等等。ios中的正确事件是什么 我考虑过每次数据更改时保存数据(didSet),但我的数据是50-100个元素的数组,所以每次更改时保存数据可能不是一个好主意。另一方面,我希望我的数据无论如何都能被保存——如果应用程序被破坏等等 您需要在视图控制器中重写此函数 override func viewDidDisappear(_ animated
我考虑过每次数据更改时保存数据(didSet),但我的数据是50-100个元素的数组,所以每次更改时保存数据可能不是一个好主意。另一方面,我希望我的数据无论如何都能被保存——如果应用程序被破坏等等 您需要在视图控制器中重写此函数
override func viewDidDisappear(_ animated: Bool) {
// save data here
}
您可以在代码中使用此功能
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:.
}
您需要覆盖函数viewdiddemouse,并尝试将数据保存到用户默认值