是否有用于在 Core Data DB 中插入/编辑行的编辑器?

Posted

技术标签:

【中文标题】是否有用于在 Core Data DB 中插入/编辑行的编辑器?【英文标题】:Is there an editor for inserting/editing rows into a Core Data DB? 【发布时间】:2010-12-11 20:34:06 【问题描述】:

我已经在 xcode 中创建了一个核心数据架构(如果重要的话是 3.2.5),所以我有一个 .xcdatamodel 文件,其中包含适当的实体和关系。

现在 - 我如何插入数据、编辑数据和/或从中删除数据,而不是在代码中? 就像 phpMyAdmin 用于 mysql 一样。

谢谢。

【问题讨论】:

当您查看 iPhone 应用程序的 Documents 目录时,有一个 SQL 文件。我从未尝试过,但也许你可以编辑文件。 在 xcode 项目目录中找不到和 Documents 目录,也找不到任何 sql(lite) 文件,我检查了那里的每个文件(使用 linux "file" 命令)。跨度> 它在应用程序的文件夹中。如果您从模拟器运行,则该文件夹位于 /Users/-yourname-/Library/Application Support/ios Simulator/User/Applications/... 您可能想看看这个:***.com/questions/272544/… 【参考方案1】:

Core Data 旨在以编程方式使用。一旦你运行应用程序一次,它应该在磁盘的某个地方创建一个文件(确切的位置可能在 AppDelegate 类中指定)。 很可能这个文件将是一个 SQLite 数据库,但它不是必须的(Core Data 的重点是将您的数据从用于存储它的文件格式中抽象出来)。它也可以是 XML 文件或二进制文件。

如果它是一个 SQLite 文件,那么你可以在你喜欢的 SQLite 编辑器中打开它。

但是

SQLite 格式中使用的架构没有记录。如果你在里面乱搞,你可能会得到一些东西,但你也很可能会无法挽回地把它搞砸。 (如果是 XML 文件或二进制文件,你可能完全不走运)

最后,应该以编程方式使用 Core Data。以不同的方式使用它(例如您要求的方式)将是以一种非预期的方式使用它,因此不是设计的。

【讨论】:

【参考方案2】:

我不知道你是否已经解决了你的问题,但是有这个用于 Firefox 的 SQLite Manager 插件:http://code.google.com/p/sqlite-manager/ 我没有尝试过导入数据或使用 INSERT 命令插入单独的行,但您可以尝试一下。它是免费的,对我来说效果很好。

【讨论】:

【参考方案3】:

有很多可用于 sqlite 的数据库管理工具可让您执行此操作。我尝试了一些,但说实话,目前还没有一个给我留下那么深刻的印象。

如果有像 Toad 这样的东西,那就太好了。

无论如何,找到您的数据库文件所在的位置,然后将其放到任何应用程序中。

然后您可以添加、删除和编辑行和列。

当然,您需要维护任何外键等。

我发现生成的 Core Data 模型非常容易理解。

示例工具有 SQLite Database Browser(免费)、SQLiteManager(非免费)和 Base。快速的 Google 搜索应该会显示这些以及更多内容。

我通常使用 SQLite 数据库浏览器,尽管它偶尔会崩溃。

【讨论】:

【参考方案4】:

请参阅 Christian Kienle 的 Core data editor。它不是免费的,但旨在通过 Apple 的 API 直接使用核心数据模型和存储,支持二进制数据,建立关系甚至触发验证等。我发现它值 20 美元。

【讨论】:

以上是关于是否有用于在 Core Data DB 中插入/编辑行的编辑器?的主要内容,如果未能解决你的问题,请参考以下文章

可以将 Core Data 与不同的预填充 sqlite db 一起使用吗?

将数据与 Core Data 同步

Swift 中大量 Core Data 批量插入的内存泄漏

Core Data/SQLite 是不是压缩冗余信息?

zf2 插入使用 $db->insert($table, $data);风格

如何使用 Core Data 在 DB 中仅添加单个值?