1

我想知道为了将 SQL DB 下载到核心数据中我必须考虑什么?我不确定在格式化 SQL DB 时必须使用哪些框架,或者是否有任何特殊要求。

任何帮助、建议、教程链接将不胜感激。我已经进行了一些搜索,但很难理解事物,因为我不确定我正在寻找的内容是否正确。

4

3 回答 3

3

我不确定我是否理解您所追求的,但也许 2 个链接会有所帮助:

  • Navicat是一个应用程序,可让您将数据从多种格式(Excel、xml、...)加载到 Sqlite DB 。这是将数据获取到数据库的一种简单方法。正如 David H 所提到的,您可以通过FMDB 之类的 Sqlite 包装器在不使用 Core Data 的情况下处理数据。然后您可以使用 SQL 命令访问数据。

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

(我不隶属于上述任何一家公司)

于 2012-07-16T22:01:37.910 回答
2

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

1)如果您有一个要在 iOS 应用程序中使用 Core Data 的数据库,那么您可以编写一个非常简单的 Mac 应用程序来与您的 SQL 存储交互,并使用您基于创建的 Core Data Schema 在 Core Data 中复制它在您的 SQL 数据库上。这样做的好处是使用 mac 应用程序测试和开发更简单。然后,您的 iOS 应用程序可以使用最终的 Core Data 存储库(通过包含 Core Data Schema)。

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

于 2012-07-15T22:11:14.970 回答
1

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

Marcus Zarra 很好地介绍了如何从 JSON 创建 NSManagedObjects:https ://stackoverflow.com/a/2363996/480069 。这应该让您了解如何开始。正如马库斯所说,请注意对象图中的关系,这样在拥有复杂关系时就不会陷入循环。

也有很多很好的教程如何序列化 NSManagedObjects,所以只要给谷歌一试:NSManagedObject serialize.

于 2012-07-16T05:58:35.263 回答