好吧,也许这个问题很愚蠢,但我找不到办法(除了以编程方式)。 我构建了一个使用 Core Data 的项目(针对 iPhone OS 3.0)。 xcdatamodel 文件显示架构描述,但我想以表格形式查看数据(例如 mssql server 的 management studio 或 mysql 的 phpmyadmin)。
有什么办法(除了编码)吗?那是什么?
另外,这些数据存储在哪个文件(在磁盘/设备中)?
[我在 Core Data 上构建了教程(来自苹果),名为 Locations。他们在代码中的某处使用了这一行:
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Locations.sqlite"]];
但是,我在项目位置(也没有在磁盘中)没有看到任何“xxxxx.sqlite”文件。]
sqllite 文件存储在您的应用程序文档文件夹中。如果您在模拟器中运行,该位置将类似于:
~/库/应用程序支持/iPhone模拟器/用户/应用程序/1C69B544-510C-47E0-8758-701FB9E259F7/Documents/Locations.sqlite
(其中 1C69B544...701FB9E259F7 是一个巨大的随机数,每次将应用程序重新安装到模拟器中时都会重新生成)。
要查看 coredata sql 文件,您可以使用任何标准
sqlite
接口。您可以从命令行使用 sqlite3
,或使用 Sqlite Browser 之类的东西。
如果您想要特定于 Core Data 的内容,可以使用 Core Data Browser。
如果您使用 SQL 存储,那么任何用于分析 SQL 的常用工具都应该可以显示 SQL 存储的内容。然而,由于 Core Data 在幕后处理事情的方式,它很难解释。
为了轻松读取 SQL 存储中的数据,您需要一个专门的工具。我还没用过,但核心数据编辑器看起来很有用。
Core Data Lab 是一个专用的 Core Data 查看器,可以轻松查找与 Core Data 应用程序相关的 Core Data 数据库,反之亦然,并以表格视图显示所有数据。
信息页面:https://betamagic.nl/products/coredatalab.html
免费 14 次试用:https://betamagic.nl/downloads/Core%20Data%20Lab%20Trial.zip
免责声明:我是这个工具的创建者。