2012-07-11 25 views
1

我想知道为了将SQL数据库下载到核心数据中需要考虑什么?我不确定我将不得不使用什么框架,或者在格式化SQL DB时是否有任何特定要求。如何将SQL DB下载到Core Data for ios

任何帮助,建议,链接到教程将非常感激..我已经做了一些四处搜寻,它只是很难理解的东西,因为我不知道我在找什么,甚至是正确的。

回答

2

这是不可能的 - 即使Core Data可以使用SQLite存储,也没有导入/导出。你真的有两个选择:

1)如果你有一个数据库你想在iOS应用程序中使用核心数据,那么你可以写一个非常简单的Mac应用程序与你的SQL存储交互,并基本上复制它使用基于SQL数据库创建的核心数据模式的核心数据。这样做的优点是使用mac应用程序进行测试和开发更简单。最终的Core Data存储库可以被iOS应用程序使用(通过包含Core Data Schema)。

2)在iOS应用程序中执行所有导入操作。这可能需要更长的时间才能开发,但您可以动态地将SQL数据库下载到手机中并使用SQLite读取它。

+0

关于第二个选项(我不是在与两个以上的公司affilated),你能详细说说..我不明白的地方,你说(做所有的进口中位的iOS应用程序).​​. 我不需要确切的细节只是一个更详细的解释,我可以从那里做休息,非常感谢您花时间回答。 – HurkNburkS 2012-07-15 22:19:44

+1

我的意思是你必须直接与SQLite商店交互 - 直接在iOS上使用SQLite。假设您知道该模式可以读出这些值,然后使用您为其定义的模式创建Core Data对象,填充这些对象,然后将它们保存在Core Data中。如果你是谷歌的“iOS SQLite”,你会看到许多页面的代码示例如何在iOS应用程序中读取sql。 – 2012-07-16 13:42:57

+0

好的,谢谢你,我在这之前就已经完成了这项工作,所以只需要再次查看代码就可以将它恢复到我的脑海中,我应该很甜。感谢您的帮助:) – HurkNburkS 2012-07-16 20:17:36

1

要导入数据,您必须从SQLite数据库中的每个记录创建NSManagedObjects对象。根据数据库模型的复杂性,这可能非常棘手。

Marcus Zarra介绍了如何从JSON创建NSManagedObjects:https://stackoverflow.com/a/2363996/480069。这应该给你一个关于如何开始的想法。正如Marcus所说的那样,要知道你的对象图中的关系,所以当你拥有复杂的关系时你不会陷入循环。

还有很多很好的教程,那里如何序列化NSManagedObjects,所以只给谷歌一个尝试:NSManagedObject serialize

+0

感谢您的帮助!现在检查你的链接。 – HurkNburkS 2012-07-16 20:18:03

3

林不知道如果我理解你所追求的,但也许2个链接将是有益的:

  • 的应用程序,让您从多种格式加载你的数据到一个SQLite数据库(Excel中, xml,...)是Navicat。这是一种向数据库获取数据的简单方法。正如David H所说,您可以使用这些数据,而无需通过像Sqlite包装器一样使用Core Data,如FMDB。然后您可以使用SQL命令访问数据。

  • nsscreencst.com提供了一个完全不同的教程:Importing into Core Data是一个教程,展示了如何从Web API将JSON数据导入到Core Data。这可能与您的用例有关。不幸的是,那里的视频花费9美元/月,但恕我直言,他们正在做一个了不起的工作。

+0

酷男!谢谢一堆!是的,关于第二个链接,更多我正在寻找的应用程序,我正在努力将围绕提供离线数据后首次下载的内容......如果这是有道理的。 – HurkNburkS 2012-07-16 22:04:11

相关问题