【问题标题】:What is the proper event to save data using UserDefaults?使用 UserDefaults 保存数据的正确事件是什么?
【发布时间】:2019-12-02 17:03:54
【问题描述】:

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

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

【问题讨论】:

  • 您需要重写函数 viewDidDisappear 并尝试将您的数据保存到用户默认位置

标签: ios swift saving-data userdefaults


【解决方案1】:

你可以在你的代码中使用这个函数

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:.
}

【讨论】:

    【解决方案2】:

    你需要在你的视图控制器中重写这个函数

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

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 2020-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多