core-data - 无法在我的 macbook 上找到我的核心数据文件
问题描述
我正在使用 Xcode 12.4 运行我的应用程序,并且我正在使用 Core Data 来持久化我的数据。当我尝试获取数据并将其打印在列表中时,它会正确打印数据,但我无法在我的 mac 上找到实际的 DB 文件。
通常我会运行print("Documents Directory: ", FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last ?? "Not Found!")
,这会引导我找到正确的文件,但是当我现在去目的地时,文档文件夹是空的。
有什么想法可以检索文件吗?
解决方案
我编写了以下内容以将核心数据数据库的位置复制到剪贴板。如果您正在为 IOS14 编码,那么您可以注释掉 appDelegate 行,并将 dbName 行替换为注释的行。
func printCoreDataPath(){
let appDelegate = UIApplication.shared.delegate as! AppDelegate // remove if IOS14
let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.applicationSupportDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let dbName = appDelegate.persistentContainer.name
// let dbName = PersistenceController.shared.container.name
let pasteboard = UIPasteboard.general
pasteboard.string = (path[0] + "/\(dbName).sqlite")
print (path[0] + "/\(dbName).sqlite")
}
推荐阅读
- kotlin - 有没有办法为 Kotlin 类定义隐式 ctor?
- reactjs - 动态表单 - 如何使用反应钩子更新“onChange”事件中多个表单字段的值?
- javascript - Highchart 条形图从中心而不是左侧开始条形图
- flutter - Flutter 通过服务器响应构建 TabBarView 项
- python - 有没有正确的方法可以使这段代码工作?
- go - 如何将字符串转换为结构数组
- java - 无法访问集合下的文档
- python - 在行中的特定范围内应用函数
- amazon-web-services - 如何访问 beanstalk 应用程序 venv?
- python-3.x - 无法访问包含 openpyxl 中的公式的单元格