MAC OS X的任何免费SQLite管理器?

时间:2011-03-13 17:12:50

标签: iphone sqlite core-data

我正在学习iPhone应用程序的核心数据。我定义了.xcdatamodel。但我有以下问题:

  1. 是否可以制作.sqlite文件 来自.xcdatamodel文件?
  2. 如果没有,那是正确的 准备.sqlite的程序?
  3. 如果有必要使用外部 工具,有没有免费的工具 .sqlite?
  4. 感谢。

3 个答案:

答案 0 :(得分:6)

你的问题1& 2已经得到解答,但这里是第3季度的综合概述:

http://www.barefeetware.com/sqlite/compare/?ch

我个人使用一个名为SQLite Manager的(免费)Firefox插件 - 你可以从这里下载https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

答案 1 :(得分:3)

  

是否可以制作.sqlite文件   来自.xcdatamodel文件?

好吧,当您创建Core Data堆栈并将商店设置为SQLite存储时,持久性存储协调器将为连接到商店的模型创建.sqlite文件。

  

如果没有,那么正确的程序是什么   准备.sqlite?

在iOS 3.0之前,您无法使用Core Data,因此有几个库可供使用SQLite。但是,我不认为它们中的任何一个已经更新,因为使用Core Data时没有多大意义。

  

如果有必要使用外部   工具,有没有免费的工具   .sqlite?

SQLite来standard as part of MacOS X,因此您可以使用命令行或Ruby,Python,Perl(也是标准)等脚本语言来创建您想要的任何SQLite数据库。

但老实说,我不会打扰。除非您的应用程序的数据非常简单且基本上是静态的,否则您最终会重新发明轮子并有效地复制大部分Core Data,只是为了将SQLite与应用程序的其余部分连接起来。

答案 2 :(得分:1)

Core Data的SQLite结构实际上并非设计为由Core Data以外的任何其他方式处理。即使你有持久存储使用SQLite数据格式,如果你在一个通用的SQLite工具中打开它,你将会得到一个没有任何东西的神秘混搭 - 你可以 - 可靠地混乱。

我猜你的目标是在数据库中预先填充数据?正确的方法是编写一些“导入器”代码,该代码读入您拥有的任何现有数据,并在持久存储中创建与其对应的对象。保留该持久性存储的副本 - 可能在您的应用程序包中,将其复制到临时目录进行写入 - 并且您自己拥有一个起始数据集。