【问题标题】:Core Data with pre populated sqlite3 file带有预填充 sqlite3 文件的核心数据
【发布时间】:2011-04-27 00:52:59
【问题描述】:

我正在开发一个使用 NSURLConnection 下载文件然后将这些文件转换为 sqlite3 表的 iPhone 应用程序。我想使用核心数据来存储这些表并创建所有适用的对象。那么,我是否必须使用代表所有表名和列的图形工具在 XCode 中构建数据模型?我一直在搜索并找到使用核心数据并在预填充的 sqlite 文件中复制默认数据的应用程序示例。我正在使用的数据在表名、列名和类型方面会有一些变化。任何方向将不胜感激。

【问题讨论】:

    标签: iphone sqlite core-data


    【解决方案1】:

    您需要通过 Core Data 应用程序中的 Core Data 模型加载数据库。您不能使用不是使用 Core Data 创建的 sqlite 数据库(没有大量不受支持的痛苦)。

    使用 Mac OS X 上的应用程序创建的 Core Data 数据库与 iOS 上的 Core Data 应用程序兼容。我知道许多开发人员编写了一些小的命令行工具,这些工具作为构建 iOS 应用程序的一部分运行,可以有效地“编译”数据库,然后将其复制到应用程序的应用程序包装器中。

    【讨论】:

    • 有没有办法动态构建 Core Data 模型?
    • 是的——但这将是一个非常不寻常的解决方案(而且,不,您不能动态构建一个映射到任意 sqlite 数据库)。请参阅文档;所有的 API 都可以做到这一点。
    • 在进一步阅读 Core Data 文档后:“重要提示:尽管 Core Data 支持 SQLite 作为其持久存储类型之一,但 Core Data 无法管理任何任意 SQLite 数据库。为了使用 SQLite 数据库, Core Data 必须自己创建和管理数据库。有关存储类型的更多信息,请参阅“持久存储功能”。
    猜你喜欢
    • 2017-01-10
    • 2012-01-10
    • 2015-07-04
    • 2011-09-11
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 2011-04-01
    相关资源
    最近更新 更多