gpt4 book ai didi

objective-c - Core Data 何时刷新到磁盘?

转载 作者:太空狗 更新时间:2023-10-30 03:56:45 25 4
gpt4 key购买 nike

我在我的应用程序中使用了 Core Data,并发现了模拟器的一些奇怪行为:当我在我的应用程序中向 Core Data 添加一些数据并使用 XCode 中的“停止”按钮退出模拟器时(或者只需按 Cmd-Q )立即,下次启动模拟器时数据不会存储在数据库中。经过一些测试,我发现数据存储在磁盘上:

  • 如果我按下主页按钮,立即。 (几乎 - 如果退出速度非常快,有可能在存储数据之前退出应用程序。)
  • 如果我在添加数据后让应用程序运行一段时间(至少大约 20 秒)。

调用 [NSManagedObjectContext save:] 没有帮助。行为相同。

所以我的问题是:这种行为的原因是什么?有没有办法在退出前强制刷新到磁盘?在设备上运行时,是否存在以这种方式丢失数据的任何风险(就个人而言,我没有看到任何风险,除了强制关闭,但奇怪的行为让我有点困扰)

最佳答案

在 Xcode 中使用停止按钮停止模拟器可能与用锤子砸碎 iPhone 一样(但保留 SSD)。基本上,您的应用程序和其他所有内容都会停止。没有合理的方法可以确保在发生这种情况时保存数据。

关于objective-c - Core Data 何时刷新到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10428351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com