【发布时间】:2010-11-04 10:03:15
【问题描述】:
我发现的大多数 sqlite 示例都是先从命令行创建一个 db 文件,然后再将其添加到您的应用程序中。对于我的项目,我希望能够在应用程序第一次启动时在应用程序中创建我的数据库,然后将其保存到用户沙箱中的 db 文件中。有没有办法做到这一点?
【问题讨论】:
标签: iphone cocoa-touch sqlite
我发现的大多数 sqlite 示例都是先从命令行创建一个 db 文件,然后再将其添加到您的应用程序中。对于我的项目,我希望能够在应用程序第一次启动时在应用程序中创建我的数据库,然后将其保存到用户沙箱中的 db 文件中。有没有办法做到这一点?
【问题讨论】:
标签: iphone cocoa-touch sqlite
您可以在应用程序启动时(像往常一样)检查文件。如果文件不存在,而不是复制预先创建的文件,只需:
sqlite3_open()打开文件
这就是它的全部内容。
【讨论】:
我想我会呼应不断扩大的呼声,即如果您正在考虑使用数据库做任何事情,您应该查看 CoreData。它在底层使用 SQLLite,并且设置起来更简单,并且当您发现需要在 DB 中添加一些新东西时,更更容易迁移!
【讨论】:
Core Data 提供了一种简单的管理方法——它会在启动时查找数据库文件,如果不存在,它会为您创建一个。它还会根据您可以在 xCode 中创建的图表自动为您创建模型。
当您将来升级使用旧数据库的人员时,它还将简化数据迁移。
您也可以使用生成的 Data 对象访问数据。 Core Data 还将对其创建的对象使用延迟加载,这比手动加载要好得多
有关更多信息,请参阅 Locations 演示项目并阅读文档中的 Core Data。
【讨论】: