使用Sqlite3填充iPhone / iPad的核心数据结构

时间:2011-02-24 13:06:44

标签: iphone sqlite core-data

我有一个SQLite数据库。我应该将DB放在具有Core Data的数据结构中吗?我能怎么做?我的问题是表之间的“z关系”。

有可能吗?

2 个答案:

答案 0 :(得分:2)

即使使用SQLite存储,Core Data也不是SQL。虽然理论上可以将标准SQLite文件转换为Core Data使用的模式,但这很困难且风险很大,特别是考虑到Apple没有记录模式,因此可以在没有警告的情况下对其进行更改。您确实需要将SQL数据转换为Core Data对象。

最好的方法是编写一个包含Core Data模型的实用程序。使用标准函数读入SQL数据,然后使用该数据和关系在Core Data中创建适当的托管对象和对象关系。

通常,您无论如何都要创建托管对象,填充属性和设置关系。只需使用该代码,但不是从UI或提供数据提供数据,而是从SQL提供的数据中提供数据。

答案 1 :(得分:0)

我找到了解决方案。在将来,我应该直接使用SQLite,但对于那些遇到类似问题的人来说,这个解决方案效果很好。

第1步:表格中的核心数据添加了原始表格的gl'ID临时关系列。

步骤2:在CSV中的数据中添加两列。第一列包含值1并引用Core Data的P_OPT,第二列包含表的标识符,并通过读取表Z_PRIMARYKEY中的SQLite Core Data生成检索到的P_ENT。

步骤3:使用任何编辑器,Mac都会将数据传输到Core Data生成的SQLite文件中。请记住在临时列中附加gl'ID(关系)。

步骤4:通过使用SQL UPDATE命令(适用于Mac上的任何SQL编辑器),使用值Z_PK更新Core Data中关系的所有ID列。查询检索的值和临时列的使用。

抱歉英语不好。我希望不要对这些解释感到困惑,也不要对别人有用。