我正在学习iPhone应用程序的核心数据。我定义了.xcdatamodel。但我有以下问题:
感谢。
答案 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工具中打开它,你将会得到一个没有任何东西的神秘混搭 - 你可以 - 可靠地混乱。
我猜你的目标是在数据库中预先填充数据?正确的方法是编写一些“导入器”代码,该代码读入您拥有的任何现有数据,并在持久存储中创建与其对应的对象。保留该持久性存储的副本 - 可能在您的应用程序包中,将其复制到临时目录进行写入 - 并且您自己拥有一个起始数据集。