【问题标题】:iPhone create SQLite database at runtime?iPhone 在运行时创建 SQLite 数据库?
【发布时间】:2010-11-04 10:03:15
【问题描述】:

我发现的大多数 sqlite 示例都是先从命令行创建一个 db 文件,然后再将其添加到您的应用程序中。对于我的项目,我希望能够在应用程序第一次启动时在应用程序中创建我的数据库,然后将其保存到用户沙箱中的 db 文件中。有没有办法做到这一点?

【问题讨论】:

    标签: iphone cocoa-touch sqlite


    【解决方案1】:

    您可以在应用程序启动时(像往常一样)检查文件。如果文件不存在,而不是复制预先创建的文件,只需:

    1. 像往常一样使用sqlite3_open()打开文件
    2. 运行创建命令(即创建表、视图等)

    这就是它的全部内容。

    【讨论】:

    • 哦,我为什么不试试呢?我想它会更复杂。 ;)
    【解决方案2】:

    我想我会呼应不断扩大的呼声,即如果您正在考虑使用数据库做任何事情,您应该查看 CoreData。它在底层使用 SQLLite,并且设置起来更简单,并且当您发现需要在 DB 中添加一些新东西时,更容易迁移!

    【讨论】:

      【解决方案3】:

      Core Data 提供了一种简单的管理方法——它会在启动时查找数据库文件,如果不存在,它会为您创建一个。它还会根据您可以在 xCode 中创建的图表自动为您创建模型。

      当您将来升级使用旧数据库的人员时,它还将简化数据迁移。

      您也可以使用生成的 Data 对象访问数据。 Core Data 还将对其创建的对象使用延迟加载,这比手动加载要好得多

      有关更多信息,请参阅 Locations 演示项目并阅读文档中的 Core Data。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        • 2016-08-03
        • 2021-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多