gpt4 book ai didi

iphone - 应用程序退出后核心数据数据库是否关闭?

转载 作者:行者123 更新时间:2023-12-03 21:16:38 24 4
gpt4 key购买 nike

我一直在查看当前应用程序中的一段代码,用于检查应用程序启动时Core Data 数据库是否已打开。该数据库只能由单个应用程序(和单个用户)访问,因此无法从其他来源打开它。我不确定的一件事是,如果应用程序意外退出,发生这种情况时数据库是否会关闭?

我想我是在问,在单用户系统中是否会出现用户启动应用程序而数据库已经打开的情况?在测试中我从未见过调用“它已经打开”的代码,所以我只是好奇我是否需要它?

最佳答案

在 iOS 上(作为单用户应用程序一次处于事件状态的操作系统),您的应用程序将“打开”和“关闭”数据库。

如果应用程序意外关闭,您的应用程序当时未保留的所有更改都将丢失。除非您告诉它(即通过设置 NSPersistantStorageController 和上下文),否则应用程序不会打开数据库。

当可以在应用程序内的不同阶段触发数据库打开时,“已打开”代码将派上用场。因此,如果只有一个地方可以打开它,则不需要该代码。不过,这不会造成伤害。

经常让我困惑的是,当我在调试期间使用 sqlite 数据库浏览器或 Liya 等工具来监视数据库时,浏览器会阻止对存储的更新。但这是在调试期间,而不是在正常使用期间。

关于iphone - 应用程序退出后核心数据数据库是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12383856/

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